-
Notifications
You must be signed in to change notification settings - Fork 0
/
mainwindow.h
137 lines (104 loc) · 3.73 KB
/
mainwindow.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
/*Wallch - WallpaperChanger
A tool for changing Desktop Wallpapers automatically
with lots of features
Copyright © 2011 by Alex Solanos and Leon Vytanos
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 3
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.*/
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include "preferences.h"
#include "mainwindow.h"
#include <QtNetwork>
#include <QObject>
#include <gconf/gconf-client.h>
#include <QtSql>
#include <QStandardItemModel>
#include <QMainWindow>
namespace Notify {
class Notification;
}
namespace Ui {
class MainWindow;
}
/**
* @brief
*
*/
class MainWindow : public QMainWindow
{
Q_OBJECT
Q_ENUMS(Source);
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
enum Source { LOCAL, REMOTE };
private:
QMetaEnum sourceEnum;
Source source;
Ui::MainWindow *ui; /**< TODO */
QTimer *updateTimer; /**< TODO */
// About *about; /**< TODO */
Preferences *preferences; /**< TODO */
QSqlTableModel *wallpaperTable; /**< TODO */
QSqlDatabase sqliteDatabase; /**< TODO */
GConfClient* gconfClient; /**< TODO */
QNetworkAccessManager *networkManager; /**< TODO */
QNetworkReply *reply; /**< TODO */
int delaySeconds; /**< TODO */
int timerSeconds; /**< TODO */
QSettings settings; /**< TODO */
bool desktopNotification; /**< TODO */
bool soundNotification; /**< TODO */
bool running;
Notify::Notification *notification;
void loadSettings();
void pruneList();
void removeDisk();
void openFolder();
void addItems(QStringList imageList);
void closeEvent(QCloseEvent*);
void desktopNotify(QString qimage);
void soundNotify();
void updateProgressBar();
void changeBackground(QString picture);
void getRemoteWallpaper(QUrl url);
void changeWallpaperToCurrent();
void changeModel(Source source);
static bool isValidImage(const QString &image);
private Q_SLOTS:
void on_previousButton_clicked();
void on_nextButton_clicked();
void on_itemView_doubleClicked(QModelIndex index);
void on_itemView_itemSelectionChanged();
void on_itemView_customContextMenuRequested(QPoint position);
void on_addButton_clicked();
void on_addfolder_clicked();
void on_removeallButton_clicked();
void on_removeButton_clicked();
void on_stopButton_clicked();
void on_startButton_clicked();
void on_refreshButton_clicked();
void on_timerSlider_valueChanged(int value);
void on_webSourceRadio_toggled(bool checked);
void timeUpdater();
void dragEnterEvent(QDragEnterEvent *event);
void dropEvent(QDropEvent *event);
void dbusAction(const QString &msg);
void on_actionAddAlbum_triggered();
void on_actionAbout_triggered();
void on_actionPreferences_triggered();
void on_actionSaveAlbum_triggered();
void on_actionSaveGnome_triggered();
void downloadFinished(QNetworkReply*);
void randomImage();
};
#endif // MAINWINDOW_H