From 5547629fce1bf23e86e66c10d536e080a88fb7ec Mon Sep 17 00:00:00 2001 From: Oguzhan INAN Date: Sun, 25 Feb 2018 16:42:32 +0300 Subject: [PATCH] updated disk info --- stacer-core/Info/disk_info.cpp | 30 +++---- stacer-core/Info/disk_info.h | 10 +-- stacer-core/Tools/gnome_schema.h | 13 +++ stacer-core/Utils/format_util.cpp | 5 -- stacer-core/Utils/format_util.h | 2 - stacer/Managers/info_manager.cpp | 5 -- stacer/Managers/info_manager.h | 1 - .../GnomeSettings/appearance_settings.ui | 87 ++++++++++++++++++- .../GnomeSettings/window_manager_settings.ui | 18 ++-- stacer/Pages/Settings/settings_page.cpp | 2 +- 10 files changed, 122 insertions(+), 51 deletions(-) diff --git a/stacer-core/Info/disk_info.cpp b/stacer-core/Info/disk_info.cpp index 6848b503..6ccf65bc 100644 --- a/stacer-core/Info/disk_info.cpp +++ b/stacer-core/Info/disk_info.cpp @@ -1,9 +1,6 @@ #include "disk_info.h" #include -DiskInfo::DiskInfo() -{ } - QList DiskInfo::getDisks() const { return disks; @@ -12,22 +9,17 @@ QList DiskInfo::getDisks() const void DiskInfo::updateDiskInfo() { disks.clear(); - try { - QStringList result = CommandUtil::exec("df", { "-Pl" }).split(QChar('\n')); - QRegExp sep("\\s+"); - for (const QString &line : result.filter(QRegExp("^/"))) - { - Disk *disk = new Disk; - QStringList slist = line.split(sep); - disk->name = slist.takeFirst(); - disk->size = slist.takeFirst().toLong() << 10; - disk->used = slist.takeFirst().toLong() << 10; - disk->free = slist.takeFirst().toLong() << 10; - - disks << disk; - } - } catch (QString &ex) { - qCritical() << ex; + QList storageInfoList = QStorageInfo::mountedVolumes(); + + for(const QStorageInfo &info: storageInfoList) { + Disk *disk = new Disk; + disk->name = info.displayName(); + disk->device = info.device(); + disk->size = info.bytesTotal(); + disk->used = info.bytesTotal() - info.bytesFree(); + disk->free = info.bytesFree(); + + disks << disk; } } diff --git a/stacer-core/Info/disk_info.h b/stacer-core/Info/disk_info.h index a164a2ee..39f53b60 100644 --- a/stacer-core/Info/disk_info.h +++ b/stacer-core/Info/disk_info.h @@ -3,18 +3,16 @@ #include "Utils/command_util.h" #include "Utils/file_util.h" +#include +#include "stacer-core_global.h" #define PROC_MOUNTS "/proc/mounts" class Disk; -#include "stacer-core_global.h" - class STACERCORESHARED_EXPORT DiskInfo { public: - DiskInfo(); - QList getDisks() const; void updateDiskInfo(); @@ -24,12 +22,12 @@ private: class Disk { public: - Disk() {} - QString name; + QString device; quint64 size; quint64 free; quint64 used; }; + #endif // DISKINFO_H diff --git a/stacer-core/Tools/gnome_schema.h b/stacer-core/Tools/gnome_schema.h index e4426987..452272b2 100644 --- a/stacer-core/Tools/gnome_schema.h +++ b/stacer-core/Tools/gnome_schema.h @@ -24,6 +24,10 @@ namespace GSchemas { const QString Core = "org.compiz.core"; const QString Preferences = "org.gnome.desktop.wm.preferences"; } + namespace Appearance { + const QString Desktop = "org.gnome.nautilus.desktop"; + const QString Background = "org.gnome.desktop.background"; + } } namespace GSchemaKeys { @@ -62,6 +66,15 @@ namespace GSchemaKeys { const QString ActionMiddleClick = "action-middle-click-titlebar"; const QString ActionRightClick = "action-right-click-titlebar"; } + + namespace Appearance { + const QString ShowDesktopIcons = "show-desktop-icons"; + const QString ShowComputerIcon = "computer-icon-visible"; + const QString ShowNetworkIcon = "network-icon-visible"; + const QString ShowTrashIcon = "trash-icon-visible"; + const QString ShowVolumesIcon = "volumes-icon-visible"; + + } } namespace GValues { diff --git a/stacer-core/Utils/format_util.cpp b/stacer-core/Utils/format_util.cpp index c79af52b..08d738cf 100644 --- a/stacer-core/Utils/format_util.cpp +++ b/stacer-core/Utils/format_util.cpp @@ -2,11 +2,6 @@ #include -FormatUtil::FormatUtil() -{ - -} - QString FormatUtil::formatBytes(const quint64 &bytes) { #define formatUnit(v, u, t) QString().sprintf("%.1f %s", \ diff --git a/stacer-core/Utils/format_util.h b/stacer-core/Utils/format_util.h index 4c3bc5b1..0cf88c82 100644 --- a/stacer-core/Utils/format_util.h +++ b/stacer-core/Utils/format_util.h @@ -9,8 +9,6 @@ public: static QString formatBytes(const quint64 &bytes); private: - FormatUtil(); - static const quint64 KIBI = 1L << 10; static const quint64 MEBI = 1L << 20; static const quint64 GIBI = 1L << 30; diff --git a/stacer/Managers/info_manager.cpp b/stacer/Managers/info_manager.cpp index a33204f3..3edd4a97 100644 --- a/stacer/Managers/info_manager.cpp +++ b/stacer/Managers/info_manager.cpp @@ -1,10 +1,5 @@ #include "info_manager.h" -InfoManager::InfoManager() -{ - -} - InfoManager *InfoManager::_instance = NULL; InfoManager *InfoManager::ins() diff --git a/stacer/Managers/info_manager.h b/stacer/Managers/info_manager.h index 79be1b79..477ac6cd 100644 --- a/stacer/Managers/info_manager.h +++ b/stacer/Managers/info_manager.h @@ -39,7 +39,6 @@ public: QList getProcesses() const; QString getUserName() const; private: - InfoManager(); static InfoManager *_instance; private: diff --git a/stacer/Pages/GnomeSettings/appearance_settings.ui b/stacer/Pages/GnomeSettings/appearance_settings.ui index 674081b0..e6b2a595 100644 --- a/stacer/Pages/GnomeSettings/appearance_settings.ui +++ b/stacer/Pages/GnomeSettings/appearance_settings.ui @@ -7,13 +7,28 @@ 0 0 801 - 571 + 438 Form + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + @@ -37,6 +52,12 @@ + + + 0 + 0 + + Trash Icon @@ -44,6 +65,12 @@ + + + 0 + 0 + + Network Icon @@ -87,6 +114,12 @@ + + + 0 + 0 + + Home Icon @@ -94,6 +127,12 @@ + + + 0 + 0 + + Screen Keyboard @@ -101,6 +140,12 @@ + + + 0 + 0 + + title @@ -137,6 +182,12 @@ + + + 0 + 0 + + Login Mode @@ -144,6 +195,12 @@ + + + 0 + 0 + + Mounted Volumes Icon @@ -193,6 +250,12 @@ + + + 0 + 0 + + Screen Reader @@ -201,7 +264,7 @@ - + 0 0 @@ -225,6 +288,12 @@ + + + 0 + 0 + + Desktop Mode @@ -232,6 +301,12 @@ + + + 0 + 0 + + Show Desktop Icons @@ -240,7 +315,7 @@ - + 0 0 @@ -277,6 +352,12 @@ + + + 0 + 0 + + title diff --git a/stacer/Pages/GnomeSettings/window_manager_settings.ui b/stacer/Pages/GnomeSettings/window_manager_settings.ui index 2f9798da..c5af8698 100644 --- a/stacer/Pages/GnomeSettings/window_manager_settings.ui +++ b/stacer/Pages/GnomeSettings/window_manager_settings.ui @@ -6,8 +6,8 @@ 0 0 - 815 - 435 + 896 + 467 @@ -45,8 +45,8 @@ 0 0 - 813 - 433 + 894 + 465 @@ -166,7 +166,7 @@ - 200 + 250 0 @@ -364,7 +364,7 @@ - 200 + 250 0 @@ -389,7 +389,7 @@ - 200 + 250 0 @@ -424,7 +424,7 @@ - 200 + 250 0 @@ -462,7 +462,7 @@ - 200 + 250 0 diff --git a/stacer/Pages/Settings/settings_page.cpp b/stacer/Pages/Settings/settings_page.cpp index 3e26a06f..28e4c16d 100644 --- a/stacer/Pages/Settings/settings_page.cpp +++ b/stacer/Pages/Settings/settings_page.cpp @@ -47,7 +47,7 @@ void SettingsPage::init() QList disks = InfoManager::ins()->getDisks(); for (const Disk *disk : disks) { - ui->disksCmb->addItem(disk->name, disk->name); + ui->disksCmb->addItem(QString("%1 (%2)").arg(disk->device).arg(disk->name), disk->name); } QString dk = apm->getDiskName();