appmenu.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #ifndef APPMENU_H
  2. #define APPMENU_H
  3. #include "../../staticapplet.h"
  4. #include <QTabWidget>
  5. #include <QLineEdit>
  6. #include <QListWidget>
  7. #include <QListWidgetItem>
  8. #include <QDir>
  9. #include <QLabel>
  10. #include <QPushButton>
  11. #include <QSettings>
  12. #include <QProcess>
  13. #include "../../panel.h"
  14. #include "../../configman.h"
  15. struct App {
  16. QString displayedName;
  17. QString exec;
  18. QIcon icon;
  19. bool display;
  20. };
  21. class AppMenuApplet : public StaticApplet {
  22. public:
  23. AppMenuApplet(ConfigManager* cfgMan, Panel* parentPanel);
  24. void externalWidgetSetup() override;
  25. void internalWidgetSetup() override;
  26. ~AppMenuApplet();
  27. private:
  28. App readDesktopEntry(QString desktopEntryPath);
  29. void execApp(QString exec);
  30. void buildMenu(QListWidget* appsList, QString filter);
  31. void buildFavMenu(ConfigManager* cfgMan, QListWidget* favAppsList);
  32. QVBoxLayout* mMainLayout;
  33. QTabWidget* mTabWidget;
  34. QWidget* mAllAppsTab;
  35. QVBoxLayout* mAllAppsLayout;
  36. QLineEdit* mSearchBox;
  37. QListWidget* mAppsList;
  38. QWidget* mFavAppsTab;
  39. QVBoxLayout* mFavAppsLayout;
  40. QListWidget* mFavAppsList;
  41. QWidget* mRunTab;
  42. QVBoxLayout* mRunLayout;
  43. QLabel* mRunLabel;
  44. QLineEdit* mCmdLineEdit;
  45. QPushButton* mRunPushButton;
  46. QHash<QListWidgetItem*, QString> mExecByItem;
  47. };
  48. #endif // APPMENU_H