소스 검색

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 년 전
부모
커밋
2e5d5eb3d8
2개의 변경된 파일4개의 추가작업 그리고 6개의 파일을 삭제
  1. 4 5
      Userland/Applications/SystemMonitor/ProcessModel.cpp
  2. 0 1
      Userland/Applications/SystemMonitor/ProcessModel.h

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

@@ -43,7 +43,6 @@ ProcessModel::ProcessModel()
 {
 {
     VERIFY(!s_the);
     VERIFY(!s_the);
     s_the = this;
     s_the = this;
-    m_generic_process_icon = Gfx::Bitmap::load_from_file("/res/icons/16x16/gear.png");
 
 
     auto file = Core::File::construct("/proc/cpuinfo");
     auto file = Core::File::construct("/proc/cpuinfo");
     if (file->open(Core::IODevice::ReadOnly)) {
     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) {
     if (role == GUI::ModelRole::Display) {
         switch (index.column()) {
         switch (index.column()) {
         case Column::Icon: {
         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:
         case Column::PID:
             return thread.current_state.pid;
             return thread.current_state.pid;

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

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