2 * abby Copyright (C) 2009 Toni Gundogdu.
3 * This file is part of abby.
5 * abby is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
10 * abby is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
22 #include <QSystemTrayIcon>
24 #include "ui_mainwnd.h"
27 class PreferencesDialog
;
32 typedef QMap
<QString
,QString
> QStringMap
;
34 class MainWindow
: public QMainWindow
, private Ui::MainWindow
{
43 void onStreamStateChanged(int state
);
52 void onProcError(QProcess::ProcessError
);
53 void onProcStdoutReady();
54 void onProcFinished(int exitCode
, QProcess::ExitStatus exitStatus
);
55 void onItemDoubleClicked(QListWidgetItem
*item
);
56 void iconActivated(QSystemTrayIcon::ActivationReason
);
61 PreferencesDialog
*prefs
;
68 QString ccliveVersion
;
71 QSystemTrayIcon
*trayIcon
;
73 QAction
*restoreAction
;
75 void addPageLink(QString lnk
);
78 void updateWidgets(const bool updateCcliveDepends
);
80 bool ccliveSupportsHost(const QString
&lnk
);
81 bool parseCcliveHostsOutput();
82 bool parseCcliveVersionOutput();
83 void createTrayIcon();
85 void closeEvent(QCloseEvent
*event
);
86 void dragEnterEvent(QDragEnterEvent
*event
);
87 void dropEvent(QDropEvent
*event
);
88 void showEvent(QShowEvent
*event
);
89 void hideEvent(QHideEvent
*event
);