diff options
| author | Tannin <devnull@localhost> | 2013-06-20 21:55:37 +0200 |
|---|---|---|
| committer | Tannin <devnull@localhost> | 2013-06-20 21:55:37 +0200 |
| commit | f8c683f700a3fff30540ff343df2bfba15080e86 (patch) | |
| tree | 248b6dcea1f45449675c05d4e64ed4b76e976919 /src/nexusdialog.h | |
| parent | 49cbe0349184419530d22782cc670946b61c9f01 (diff) | |
- some fixes for qt5 compatibility
- hook.dll no longer creates a dump and uninstalls it if an exception is reported that doesn't originate from it
- NCC used read-only transactions again because otherwise solid archives become unusably slow.
- removed the integrated nexus browser
- the mod description and motd are now rendered in QTextBrowser. This (and the above) eliminates the dependency on qtwebkit
- removed the direct file download for mod files
- reduced CPU usage during downloads by invalidating only one column of the download list. This widget still needs to be replaced
- added the complete filename as an option for the modname
- applications that require elevation can now be started by invoking an elevated secondary ModOrganizer instance
- MO will now register nexus file servers and provides a settings dialog to pick preferred servers. (This preference is not used yet)
- worked around 1-2 bugs in QSortFilterProxy
- handling of nxm links is now done by an external application. This allows the registration of different applications depending on the game
- integrated fomod installer now displays the screenshot in a scalable view
- bugfix: integrated fomod installer didn't name output files correctly if the name differs from the source name
- bugfix: a successful login to nexus was (sometimes?) not correctly detected as a success
- bugfix: top-level entries in QtGroupingProxy were sometimes incorrectly displayed as groups
- bugfix: GetPrivateProfile... optimization could cause null-pointer indirection
- bugfix: GetCurrentWorkingDirectory caused buffer overflow in case of pre-flighting (buffer size 0)
- bugfix: configurator plugin now also uses qt5 (it's currently broken though)
Diffstat (limited to 'src/nexusdialog.h')
| -rw-r--r-- | src/nexusdialog.h | 158 |
1 files changed, 0 insertions, 158 deletions
diff --git a/src/nexusdialog.h b/src/nexusdialog.h deleted file mode 100644 index 8fb22029..00000000 --- a/src/nexusdialog.h +++ /dev/null @@ -1,158 +0,0 @@ -/* -Copyright (C) 2012 Sebastian Herbord. All rights reserved. - -This file is part of Mod Organizer. - -Mod Organizer is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -Mod Organizer is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>. -*/ - -#ifndef NEXUSDIALOG_H -#define NEXUSDIALOG_H - -#include "nexusview.h" -#include "nxmaccessmanager.h" -#include "tutorialcontrol.h" -#include <QDialog> -#include <QProgressBar> -#include <QNetworkRequest> -#include <QNetworkReply> -#include <QTimer> -#include <QWebView> -#include <QQueue> -#include <QTabWidget> -#include <QAtomicInt> - - -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 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 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; - - MOBase::TutorialControl m_Tutorial; - - QString m_Url; - QRegExp m_ModUrlExp; - - QTabWidget *m_Tabs; - NexusView *m_View; - QProgressBar *m_LoadProgress; - NXMAccessManager *m_AccessManager; - -}; - -#endif // NEXUSDIALOG_H |
