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

9.1-release9.2-releasereleng/10.0releng/10.0.1
Last change on this file since 7541802 was 7541802, checked in by Kris Moore <kris@…>, 12 months ago

Add logic to detect all the messy deps when we add / remove NG packages

Add new dialog to display exactly whats going to happen to the end user

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