From 5d1154c24e2475ed2b7ac248de27ab7b501a1e5e Mon Sep 17 00:00:00 2001 From: Tannin Date: Sat, 16 Feb 2013 19:09:57 +0100 Subject: - hooks for CreateHardLink - createprocess hook will now reroute the cwd (fixes SUM, may break other tools?) - profile code moved to separate file - executables can now be linked to toolbar - category filters are now represented as a tree - csv export of mod list - ModInfoDialog is now "window modal" instead of "application modal" - nexus dialog now updates the mod-id field while browsing - right-click in nexus browser allows to open in external browser - ini viewer is no longer modal - bugfix: another attempt to fix processing of invalid header lines in fomod xmls (bom now handled) - bugfix: integrated fomod installer will no longer overwrite detected mod name by the one from the xml - bugfix: "hide file" from conflicted files list now updates that list - bugfix: conflicted files list no longer offers to hide files in BSAs - bugfix: pressing delete on the mod list with multiplie files selected offered to delete the wrong files - regression: mod name guessing with the old regular expression was less likely to lead to an empty mod name. Now both are tried --- src/nexusdialog.h | 283 +++++++++++++++++++++++++++--------------------------- 1 file changed, 142 insertions(+), 141 deletions(-) (limited to 'src/nexusdialog.h') diff --git a/src/nexusdialog.h b/src/nexusdialog.h index 041b5e7c..fbe99f3d 100644 --- a/src/nexusdialog.h +++ b/src/nexusdialog.h @@ -17,144 +17,145 @@ You should have received a copy of the GNU General Public License along with Mod Organizer. If not, see . */ -#ifndef NEXUSDIALOG_H -#define NEXUSDIALOG_H - -#include "nexusview.h" -#include "nxmaccessmanager.h" -#include "tutorialcontrol.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -namespace Ui { - class NexusDialog; -} - - -/** - * @brief a dialog containing a webbrowser that is intended to browse the nexus network - **/ -class NexusDialog : public QDialog -{ - Q_OBJECT - -public: - - /** - * @brief constructor - * - * @param accessManager the access manager to use for network requests - * @param parent parent widget - **/ - explicit NexusDialog(NXMAccessManager *accessManager, QWidget *parent = 0); - ~NexusDialog(); - - /** - * @brief set the url to open. If automatic login is enabled, the url is opened after login - * - * @param url the url to open - **/ - void openUrl(const QString &url); - - /** - * @brief log-in to the nexus page. - * - * After successful login, loadNexus() is automatically called. If the user is already - * logged in, this happens immediately - * - * @param username the user name to log in as - * @param password the user password - **/ - void login(const QString &username, const QString &password); - - /** - * @brief load the page set with openUrl() - **/ - void loadNexus(); - -signals: - - /** - * @brief emitted when the user caused a download - * - * @param reply the network-reply transmitting the file - * @param modID mod id of the file requested - * @param fileName suggested filename - **/ - void requestDownload(QNetworkReply *reply, int modID, const QString &fileName); - - void loginSuccessful(bool necessary); - -protected: - - virtual void closeEvent(QCloseEvent *); - -private slots: - - void loginFailed(const QString &message); - void loginFinished(bool necessary); -// void loginError(QNetworkReply::NetworkError errorCode); -// void loginTimeout(); - - void initTab(NexusView *newView); - void openInNewTab(const QUrl &url); - - void progress(int value); - - void titleChanged(const QString &title); - void requestNXMDownload(const QString &url); - void unsupportedContent(QNetworkReply *reply); - void downloadRequested(const QNetworkRequest &request); - - - void tabCloseRequested(int index); - -// void openByModID(); - void on_browserTabWidget_customContextMenuRequested(const QPoint &pos); - - void urlChanged(const QUrl &url); - - void on_backBtn_clicked(); - - void on_fwdBtn_clicked(); - - void on_modIDEdit_returnPressed(); - - void on_searchEdit_returnPressed(); - - void startSearch(); - - void on_browserTabWidget_currentChanged(QWidget *arg1); - - void on_refreshBtn_clicked(); - -private: - - QString guessFileName(const QString &url); - - NexusView *getCurrentView(); - -private: - - Ui::NexusDialog *ui; - - TutorialControl m_Tutorial; - - QString m_Url; - - QTabWidget *m_Tabs; - NexusView *m_View; - QProgressBar *m_LoadProgress; - NXMAccessManager *m_AccessManager; - -}; - -#endif // NEXUSDIALOG_H +#ifndef NEXUSDIALOG_H +#define NEXUSDIALOG_H + +#include "nexusview.h" +#include "nxmaccessmanager.h" +#include "tutorialcontrol.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace Ui { + class NexusDialog; +} + + +/** + * @brief a dialog containing a webbrowser that is intended to browse the nexus network + **/ +class NexusDialog : public QDialog +{ + Q_OBJECT + +public: + + /** + * @brief constructor + * + * @param accessManager the access manager to use for network requests + * @param parent parent widget + **/ + explicit NexusDialog(NXMAccessManager *accessManager, QWidget *parent = 0); + ~NexusDialog(); + + /** + * @brief set the url to open. If automatic login is enabled, the url is opened after login + * + * @param url the url to open + **/ + void openUrl(const QString &url); + + /** + * @brief log-in to the nexus page. + * + * After successful login, loadNexus() is automatically called. If the user is already + * logged in, this happens immediately + * + * @param username the user name to log in as + * @param password the user password + **/ + void login(const QString &username, const QString &password); + + /** + * @brief load the page set with openUrl() + **/ + void loadNexus(); + +signals: + + /** + * @brief emitted when the user caused a download + * + * @param reply the network-reply transmitting the file + * @param modID mod id of the file requested + * @param fileName suggested filename + **/ + void requestDownload(QNetworkReply *reply, int modID, const QString &fileName); + + void loginSuccessful(bool necessary); + +protected: + + virtual void closeEvent(QCloseEvent *); + +private slots: + + void loginFailed(const QString &message); + void loginFinished(bool necessary); +// void loginError(QNetworkReply::NetworkError errorCode); +// void loginTimeout(); + + void initTab(NexusView *newView); + void openInNewTab(const QUrl &url); + + void progress(int value); + + void titleChanged(const QString &title); + void requestNXMDownload(const QString &url); + void unsupportedContent(QNetworkReply *reply); + void downloadRequested(const QNetworkRequest &request); + + + void tabCloseRequested(int index); + +// void openByModID(); + void on_browserTabWidget_customContextMenuRequested(const QPoint &pos); + + void urlChanged(const QUrl &url); + + void on_backBtn_clicked(); + + void on_fwdBtn_clicked(); + + void on_modIDEdit_returnPressed(); + + void on_searchEdit_returnPressed(); + + void startSearch(); + + void on_browserTabWidget_currentChanged(QWidget *arg1); + + void on_refreshBtn_clicked(); + +private: + + QString guessFileName(const QString &url); + + NexusView *getCurrentView(); + +private: + + Ui::NexusDialog *ui; + + TutorialControl m_Tutorial; + + QString m_Url; + QRegExp m_ModUrlExp; + + QTabWidget *m_Tabs; + NexusView *m_View; + QProgressBar *m_LoadProgress; + NXMAccessManager *m_AccessManager; + +}; + +#endif // NEXUSDIALOG_H -- cgit v1.3.1