21 #ifndef PCMANFM_APPLICATION_H
22 #define PCMANFM_APPLICATION_H
24 #include <QApplication>
26 #include <libfm-qt/libfmqt.h>
27 #include <libfm-qt/editbookmarksdialog.h>
30 #include <QProxyStyle>
31 #include <QTranslator>
34 #include <libfm-qt/core/filepath.h>
35 #include <libfm-qt/core/fileinfo.h>
39 class QFileSystemWatcher;
45 class PreferencesDialog;
46 class DesktopPreferencesDialog;
53 virtual int styleHint(StyleHint hint,
const QStyleOption* option = 0,
const QWidget* widget = 0, QStyleHintReturn* returnData = 0)
const;
58 Q_PROPERTY(
bool desktopManagerEnabled READ desktopManagerEnabled)
71 Fm::LibFmQt& libFm() {
76 void launchFiles(QString cwd, QStringList paths,
bool inNewWindow);
77 void setWallpaper(QString path, QString modeString);
78 void preferences(QString page);
79 void desktopPrefrences(QString page);
81 void desktopManager(
bool enabled);
82 void findFiles(QStringList paths = QStringList());
83 void connectToServer();
85 bool desktopManagerEnabled() {
86 return enableDesktopManager_;
89 void updateFromSettings();
90 void updateDesktopsFromSettings(
bool changeSlide =
true);
92 void openFolderInTerminal(Fm::FilePath path);
93 void openFolders(Fm::FileInfoList files);
95 QString profileName() {
100 void onAboutToQuit();
101 void onSigtermNotified();
103 void onLastWindowClosed();
104 void onSaveStateRequest(QSessionManager& manager);
105 void initVolumeManager();
107 void onVirtualGeometryChanged(
const QRect& rect);
108 void onAvailableGeometryChanged(
const QRect& rect);
109 void onScreenDestroyed(QObject* screenObj);
110 void onScreenAdded(QScreen* newScreen);
111 void onScreenRemoved(QScreen* oldScreen);
112 void reloadDesktopsAsNeeded();
114 void onFindFileAccepted();
115 void onConnectToServerAccepted();
119 bool parseCommandLineArgs();
121 bool autoMountVolume(GVolume* volume,
bool interactive =
true);
123 static void onVolumeAdded(GVolumeMonitor* monitor, GVolume* volume,
Application* pThis);
126 void onUserDirsChanged();
130 void installSigtermHandler();
132 bool isPrimaryInstance;
135 QString profileName_;
137 bool enableDesktopManager_;
138 QVector<DesktopWindow*> desktopWindows_;
139 QPointer<PreferencesDialog> preferencesDialog_;
140 QPointer<DesktopPreferencesDialog> desktopPreferencesDialog_;
141 QPointer<Fm::EditBookmarksDialog> editBookmarksialog_;
142 QTranslator translator;
143 QTranslator qtTranslator;
144 GVolumeMonitor* volumeMonitor_;
146 QFileSystemWatcher* userDirsWatcher_;
147 QString userDirsFile_;
148 QString userDesktopFolder_;
157 #endif // PCMANFM_APPLICATION_H