#ifndef MAINWINDOW_H #define MAINWINDOW_H #include "../WiiQt/includes.h" #include "../WiiQt/nusdownloader.h" #include "../WiiQt/nandbin.h" #include "../WiiQt/uidmap.h" #include "../WiiQt/sharedcontentmap.h" namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow( QWidget *parent = 0 ); ~MainWindow(); private: Ui::MainWindow *ui; QTreeWidgetItem *root; bool nandInited; bool uidDirty; bool sharedDirty; bool nandDirty; NusDownloader nus; NandBin nand; UIDmap uid; SharedContentMap shared; bool FlushNand(); void ShowMessage( const QString& mes ); bool InitNand( const QString &path ); bool UpdateTree(); QString PathFromItem( QTreeWidgetItem *item ); QTreeWidgetItem *ItemFromPath( const QString &path ); QTreeWidgetItem *FindItem( const QString &s, QTreeWidgetItem *parent ); bool InstallNUSItem( NusJob job ); quint16 CreateIfNeeded( const QString &path, quint32 uid, quint16 gid, quint8 attr, quint8 user_perm, quint8 group_perm, quint8 other_perm ); bool InstallSharedContent( const QByteArray stuff, const QByteArray hash = QByteArray() ); void SaveSettings(); void LoadSettings(); public slots: //slots for getting info from the NUS downloader void GetError( const QString &message, NusJob job ); void GetError( const QString &message ); void NusIsDone(); void ReceiveTitleFromNus( NusJob job ); private slots: void on_pushButton_CachePathBrowse_clicked(); void on_actionAbout_triggered(); void on_pushButton_initNand_clicked(); void on_actionNew_nand_from_keys_triggered(); void on_actionFlush_triggered(); void on_actionSetting_txt_triggered(); void on_actionImportWad_triggered(); void on_pushButton_nandPath_clicked(); void on_pushButton_GetTitle_clicked(); }; #endif // MAINWINDOW_H