source: src-qt4/pc-pkgmanager/mainWin.h @ 77024b5

releng/10.0.1releng/10.0.2
Last change on this file since 77024b5 was 77024b5, checked in by Kris Moore <kris@…>, 7 months ago

Fix the Update tab of the package manager, now blank out the contents and display a notification
once the refresh begins of packages, either post-update, or after changing settings

  • Property mode set to 100644
File size: 4.1 KB
Line 
1#ifndef MAINWIN_H
2#define MAINWIN_H
3
4#include <QCloseEvent>
5#include <QDialog>
6#include <QFile>
7#include <QMenu>
8#include <QMessageBox>
9#include <QProcess>
10#include <QProgressDialog>
11#include <QSocketNotifier>
12#include <QStringList>
13#include <QTextStream>
14#include <QTimer>
15
16#include <pcbsd-utils.h>
17#include <pcbsd-ui.h>
18#include "dialogConfirm.h"
19#include "dialogConfig.h"
20#include "ui_mainWin.h"
21#include "../config.h"
22
23/* Change this to switch the default patch tmpdir */
24const QString PATCHTMPDIR_DEFAULT( PREFIX + "/tmp" );
25#define SYSTRIGGER "/tmp/.sysupdatetraytrigger"
26
27class mainWin : public QMainWindow, private Ui::mainWin
28{
29        Q_OBJECT
30
31public:
32        mainWin() : QMainWindow()
33        {
34          setupUi(this);
35        }
36
37    QMap <QString, QString> codeMap;
38
39public slots:
40    void ProgramInit(QString);
41    void slotSingleInstance();
42
43protected:
44    void closeEvent(QCloseEvent *event);
45
46private slots:
47   
48    // Generic pkgng handlers
49    void slotReadPkgOutput();
50    void slotPkgDone();
51
52    // Meta-Packages
53    void slotFinishLoadingMetaPkgs();
54    void slotGetPackageDataOutput();
55    void slotApplyClicked();
56    void slotSearchPackages();
57
58    // Package updates
59    void slotRescanPkgsClicked();
60    void slotUpdatePkgsClicked();
61    void slotApplyMetaChanges();
62    void slotDeskPkgsChanged(QTreeWidgetItem *aItem, int __unused);
63    void slotMetaRightClick();
64    void slotMetaViewPkgs();
65
66    // UI Stuff
67    void slotViewChanged();
68    void slotCloseClicked();
69
70    // NG Packages
71    void slotCloseAdvClicked();
72    void slotGetNGPackageDataOutput();
73    void slotFinishLoadingNGPkgs();
74    void slotGetNGInstalledDataOutput();
75    void slotGetNGInstalledPkgs();
76    void slotEnableApply();
77    void slotStartNGChanges();
78    void slotNGItemChanged();
79    void slotNGReadInfo();
80
81    void slotReadEventPipe();
82
83    // Configuration dialog
84    void slotConfigClicked();
85    void slotConfigFinished();
86
87private:
88    // Generic pkg process handlers
89    void prepPkgProcess();
90    void startPkgProcess();
91    QList<QStringList> pkgCmdList;
92    bool pkgHasFailed;
93    QString getConflictDetailText();
94
95    //Search Iteration
96    bool performSearch(QString pkgSearch, QTreeWidget *TW, QTreeWidgetItem *SI = 0);
97    bool searchChildren(QString srch, QTreeWidget *TW, QTreeWidgetItem *CI, bool &started, QTreeWidgetItem *SI);
98
99    // Updates
100    void doUpdates();
101    bool sanityCheck();
102
103    int curUpdate;
104    int curUpdateIndex;
105    int totUpdate;
106    bool dPackages;
107    bool uPackages;
108    QProcess *uProc;
109    QList<QStringList> listUpdates;
110    QString wDir, wIP;
111    QString lastError;
112    QSocketNotifier *eSock;
113
114
115    // Meta-Packages
116    void initMetaWidget();
117    void populateMetaPkgs();
118    void addTreeItems(QString parent);
119    bool isMetaPkgInstalled(QString mPkg);
120    void checkMPKGUpdates();
121    void parseTmpMetaList();
122    void saveMetaPkgs();
123    void startMetaChanges();
124    bool haveAMetaDesktop();
125    bool haveMetaPkgChanges();
126    QString getAddPkgs();
127    QString getDelPkgs();
128    bool allChildrenPkgsChecked(QString parent);
129    bool allChildrenPkgsUnchecked(QString parent);
130    void checkAllChildrenPkgs(QString parent);
131    void uncheckAllChildrenPkgs(QString parent);
132    QString getLineFromCommandOutput( QString cmd );
133    QList<QStringList> metaPkgList;
134    QStringList tmpMetaPkgList;
135    QString addPkgs;
136    QString delPkgs;
137    QString pkgSource;
138    QString curFileText;
139    QProcess *getMetaProc;
140
141    // NG Packages
142    void populateNGPkgs();
143    void addNGItems();
144    void applyNGChanges();
145    QStringList tmpPkgList;
146    QStringList pkgList;
147    QStringList pkgDepList;
148    QStringList pkgRDepList;
149    QStringList selPkgList;
150    QStringList pkgRemoveList;
151    QStringList pkgAddList;
152    QProcess *getNGProc;
153    QProcess *getNGInfo;
154    dialogConfirm *askUserConfirm;
155
156
157    QString chrootArg1;
158    QString chrootArg2;
159    QString ConflictList;
160    bool canceled;
161    QMenu *popup;
162    dialogInfo *dIB;
163    QActionGroup *viewGroup;
164
165    // Event pipe process
166    QProcess *eP;
167
168    // Config dialog
169    dialogConfig *configD;
170
171    // Indicator of package process type
172    QString pkgProcessType;
173
174signals:
175
176} ;
177#endif // MAINWIN_H
178
Note: See TracBrowser for help on using the repository browser.