Ver código fonte

SystemMonitor: Return icon display data as GUI::Icons

And delete the generic icon member which has been dormant since
switching to FileIconProvider. Fixes icon column not being properly
painted as icon cells.
thankyouverycool 4 anos atrás
pai
commit
2e5d5eb3d8

+ 4 - 5
Userland/Applications/SystemMonitor/ProcessModel.cpp

@@ -43,7 +43,6 @@ ProcessModel::ProcessModel()
 {
     VERIFY(!s_the);
     s_the = this;
-    m_generic_process_icon = Gfx::Bitmap::load_from_file("/res/icons/16x16/gear.png");
 
     auto file = Core::File::construct("/proc/cpuinfo");
     if (file->open(Core::IODevice::ReadOnly)) {
@@ -262,10 +261,10 @@ GUI::Variant ProcessModel::data(const GUI::ModelIndex& index, GUI::ModelRole rol
     if (role == GUI::ModelRole::Display) {
         switch (index.column()) {
         case Column::Icon: {
-            auto icon = GUI::FileIconProvider::icon_for_executable(thread.current_state.executable);
-            if (auto* bitmap = icon.bitmap_for_size(16))
-                return *bitmap;
-            return *m_generic_process_icon;
+            auto icon = GUI::FileIconProvider::icon_for_executable(thread.current_state.executable).bitmap_for_size(16);
+            if (!icon)
+                return GUI::Icon();
+            return GUI::Icon(*icon);
         }
         case Column::PID:
             return thread.current_state.pid;

+ 0 - 1
Userland/Applications/SystemMonitor/ProcessModel.h

@@ -144,6 +144,5 @@ private:
     HashMap<int, NonnullOwnPtr<Thread>> m_threads;
     NonnullOwnPtrVector<CpuInfo> m_cpus;
     Vector<int> m_tids;
-    RefPtr<Gfx::Bitmap> m_generic_process_icon;
     RefPtr<Core::File> m_proc_all;
 };