Sync, removal of webkit as a dependency, removal of the web windows.
This commit is contained in:
parent
c92ad7dcf8
commit
bbc47cb8bd
@ -163,7 +163,6 @@ gui/settingsdialog.h
|
||||
gui/newinstancedialog.h
|
||||
gui/logindialog.h
|
||||
gui/taskdialog.h
|
||||
gui/browserdialog.h
|
||||
gui/aboutdialog.h
|
||||
gui/consolewindow.h
|
||||
gui/instancemodel.h
|
||||
@ -233,7 +232,6 @@ gui/settingsdialog.cpp
|
||||
gui/newinstancedialog.cpp
|
||||
gui/logindialog.cpp
|
||||
gui/taskdialog.cpp
|
||||
gui/browserdialog.cpp
|
||||
gui/aboutdialog.cpp
|
||||
gui/consolewindow.cpp
|
||||
gui/instancemodel.cpp
|
||||
@ -293,7 +291,6 @@ gui/settingsdialog.ui
|
||||
gui/newinstancedialog.ui
|
||||
gui/logindialog.ui
|
||||
gui/taskdialog.ui
|
||||
gui/browserdialog.ui
|
||||
gui/aboutdialog.ui
|
||||
gui/consolewindow.ui
|
||||
gui/versionselectdialog.ui
|
||||
@ -338,7 +335,7 @@ ADD_EXECUTABLE(MultiMC MACOSX_BUNDLE WIN32
|
||||
${MULTIMC_SOURCES} ${MULTIMC_HEADERS} ${MULTIMC_UI} ${MULTIMC_QRC} ${MULTIMC_RCS})
|
||||
|
||||
# Link
|
||||
QT5_USE_MODULES(MultiMC Widgets Network WebKitWidgets Xml)
|
||||
QT5_USE_MODULES(MultiMC Widgets Network Xml)
|
||||
TARGET_LINK_LIBRARIES(MultiMC quazip patchlib libUtil libSettings libGroupView ${MultiMC_LINK_ADDITIONAL_LIBS})
|
||||
ADD_DEPENDENCIES(MultiMC MultiMCLauncher libUtil libSettings libGroupView)
|
||||
|
||||
|
@ -18,6 +18,7 @@
|
||||
#include <logic/ModList.h>
|
||||
#include <pathutils.h>
|
||||
#include <QFileDialog>
|
||||
#include <QDebug>
|
||||
|
||||
LegacyModEditDialog::LegacyModEditDialog( LegacyInstance* inst, QWidget* parent ) :
|
||||
m_inst(inst),
|
||||
@ -32,11 +33,10 @@ LegacyModEditDialog::LegacyModEditDialog( LegacyInstance* inst, QWidget* parent
|
||||
m_mods = m_inst->loaderModList();
|
||||
m_coremods = m_inst->coreModList();
|
||||
m_jarmods = m_inst->jarModList();
|
||||
/*
|
||||
m_mods->startWatching();
|
||||
m_coremods->startWatching();
|
||||
m_jarmods->startWatching();
|
||||
*/
|
||||
|
||||
qDebug() << m_mods.data();
|
||||
qDebug() << m_coremods.data();
|
||||
qDebug() << m_jarmods.data();
|
||||
|
||||
ui->jarModsTreeView->setModel(m_jarmods.data());
|
||||
ui->coreModsTreeView->setModel(m_coremods.data());
|
||||
|
@ -1,6 +1,9 @@
|
||||
#include "ModListView.h"
|
||||
#include <QHeaderView>
|
||||
#include <QMouseEvent>
|
||||
#include <QPainter>
|
||||
#include <QDrag>
|
||||
#include <QRect>
|
||||
|
||||
ModListView::ModListView ( QWidget* parent )
|
||||
:QTreeView ( parent )
|
||||
|
@ -1,76 +0,0 @@
|
||||
#include "browserdialog.h"
|
||||
#include "ui_browserdialog.h"
|
||||
|
||||
#include <QtWebKit/QWebHistory>
|
||||
|
||||
BrowserDialog::BrowserDialog(QWidget *parent) :
|
||||
QDialog(parent),
|
||||
ui(new Ui::BrowserDialog),
|
||||
m_pageTitleInWindowTitle(true),
|
||||
m_windowTitleFormat("%1")
|
||||
{
|
||||
ui->setupUi(this);
|
||||
ui->webView->setPage(new QWebPage());
|
||||
refreshWindowTitle();
|
||||
resize(800, 600);
|
||||
}
|
||||
|
||||
BrowserDialog::~BrowserDialog()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
// Navigation Buttons
|
||||
void BrowserDialog::on_btnBack_clicked()
|
||||
{
|
||||
ui->webView->back();
|
||||
}
|
||||
|
||||
void BrowserDialog::on_btnForward_clicked()
|
||||
{
|
||||
ui->webView->forward();
|
||||
}
|
||||
|
||||
void BrowserDialog::on_webView_urlChanged(const QUrl &url)
|
||||
{
|
||||
Q_UNUSED(url);
|
||||
//qDebug("urlChanged");
|
||||
ui->btnBack->setEnabled(ui->webView->history()->canGoBack());
|
||||
ui->btnForward->setEnabled(ui->webView->history()->canGoForward());
|
||||
}
|
||||
|
||||
// Window Title Magic
|
||||
void BrowserDialog::refreshWindowTitle()
|
||||
{
|
||||
//qDebug("refreshTitle");
|
||||
if (m_pageTitleInWindowTitle)
|
||||
setWindowTitle(m_windowTitleFormat.arg(ui->webView->title()));
|
||||
else
|
||||
setWindowTitle(m_windowTitleFormat);
|
||||
}
|
||||
|
||||
void BrowserDialog::setPageTitleInWindowTitle(bool enable)
|
||||
{
|
||||
m_pageTitleInWindowTitle = enable;
|
||||
refreshWindowTitle();
|
||||
}
|
||||
|
||||
void BrowserDialog::setWindowTitleFormat(QString format)
|
||||
{
|
||||
m_windowTitleFormat = format;
|
||||
refreshWindowTitle();
|
||||
}
|
||||
|
||||
void BrowserDialog::on_webView_titleChanged(const QString &title)
|
||||
{
|
||||
//qDebug("titleChanged");
|
||||
if (m_pageTitleInWindowTitle)
|
||||
setWindowTitle(m_windowTitleFormat.arg(title));
|
||||
}
|
||||
|
||||
// Public access Methods
|
||||
void BrowserDialog::load(const QUrl &url)
|
||||
{
|
||||
//qDebug("load");
|
||||
ui->webView->setUrl(url);
|
||||
}
|
@ -1,41 +0,0 @@
|
||||
#ifndef BROWSERDIALOG_H
|
||||
#define BROWSERDIALOG_H
|
||||
|
||||
#include <QDialog>
|
||||
|
||||
namespace Ui {
|
||||
class BrowserDialog;
|
||||
}
|
||||
|
||||
class BrowserDialog : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit BrowserDialog(QWidget *parent = 0);
|
||||
~BrowserDialog();
|
||||
|
||||
void load(const QUrl &url);
|
||||
|
||||
void setPageTitleInWindowTitle(bool enable);
|
||||
bool pageTitleInWindowTitle(void) { return m_pageTitleInWindowTitle; }
|
||||
|
||||
void setWindowTitleFormat(QString format);
|
||||
QString windowTitleFormat(void) { return m_windowTitleFormat; }
|
||||
|
||||
private:
|
||||
Ui::BrowserDialog *ui;
|
||||
|
||||
bool m_pageTitleInWindowTitle;
|
||||
QString m_windowTitleFormat;
|
||||
|
||||
void refreshWindowTitle(void);
|
||||
|
||||
private slots:
|
||||
void on_btnBack_clicked(void);
|
||||
void on_btnForward_clicked(void);
|
||||
void on_webView_urlChanged(const QUrl &url);
|
||||
void on_webView_titleChanged(const QString &title);
|
||||
};
|
||||
|
||||
#endif // BROWSERDIALOG_H
|
@ -1,92 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>BrowserDialog</class>
|
||||
<widget class="QDialog" name="BrowserDialog">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>535</width>
|
||||
<height>400</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Dialog</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="toolbarLayout">
|
||||
<item>
|
||||
<widget class="QCommandLinkButton" name="btnBack">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Back</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="go-previous"/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCommandLinkButton" name="btnForward">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Forward</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="go-next"/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="toolbarSpacer_1">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QWebView" name="webView">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="url">
|
||||
<url>
|
||||
<string>about:blank</string>
|
||||
</url>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>QWebView</class>
|
||||
<extends>QWidget</extends>
|
||||
<header>QtWebKitWidgets/QWebView</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
@ -40,7 +40,6 @@
|
||||
#include "gui/newinstancedialog.h"
|
||||
#include "gui/logindialog.h"
|
||||
#include "gui/taskdialog.h"
|
||||
#include "gui/browserdialog.h"
|
||||
#include "gui/aboutdialog.h"
|
||||
#include "gui/versionselectdialog.h"
|
||||
#include "gui/lwjglselectdialog.h"
|
||||
@ -366,13 +365,13 @@ void MainWindow::on_actionViewSelectedInstFolder_triggered()
|
||||
|
||||
void MainWindow::on_actionEditInstMods_triggered()
|
||||
{
|
||||
//TODO: Needs to do current ModEditDialog too
|
||||
BaseInstance* inst = selectedInstance();
|
||||
if (inst)
|
||||
{
|
||||
auto dialog = inst->createModEditDialog(this);
|
||||
if(dialog)
|
||||
dialog->exec();
|
||||
dialog->deleteLater();
|
||||
}
|
||||
}
|
||||
|
||||
@ -527,10 +526,7 @@ void MainWindow::on_actionMakeDesktopShortcut_triggered()
|
||||
// BrowserDialog
|
||||
void MainWindow::openWebPage ( QUrl url )
|
||||
{
|
||||
BrowserDialog *browser = new BrowserDialog ( this );
|
||||
|
||||
browser->load ( url );
|
||||
browser->exec();
|
||||
QDesktopServices::openUrl(url);
|
||||
}
|
||||
|
||||
void MainWindow::on_actionChangeInstMCVersion_triggered()
|
||||
|
@ -129,7 +129,7 @@ public:
|
||||
virtual void cleanupAfterRun() = 0;
|
||||
|
||||
/// create a mod edit dialog for the instance
|
||||
virtual QSharedPointer<QDialog> createModEditDialog ( QWidget* parent ) = 0;
|
||||
virtual QDialog * createModEditDialog ( QWidget* parent ) = 0;
|
||||
signals:
|
||||
/*!
|
||||
* \brief Signal emitted when properties relevant to the instance view change
|
||||
|
@ -127,9 +127,9 @@ QSharedPointer< ModList > LegacyInstance::loaderModList()
|
||||
return d->loader_mod_list;
|
||||
}
|
||||
|
||||
QSharedPointer< QDialog > LegacyInstance::createModEditDialog ( QWidget* parent )
|
||||
QDialog * LegacyInstance::createModEditDialog ( QWidget* parent )
|
||||
{
|
||||
return QSharedPointer<QDialog> (new LegacyModEditDialog(this, parent));
|
||||
return new LegacyModEditDialog(this, parent);
|
||||
}
|
||||
|
||||
|
||||
|
@ -88,7 +88,7 @@ public:
|
||||
|
||||
virtual MinecraftProcess* prepareForLaunch( QString user, QString session );
|
||||
virtual void cleanupAfterRun();
|
||||
virtual QSharedPointer< QDialog > createModEditDialog ( QWidget* parent );
|
||||
virtual QDialog * createModEditDialog ( QWidget* parent );
|
||||
|
||||
protected slots:
|
||||
virtual void jarModsChanged();
|
||||
|
@ -37,7 +37,7 @@ bool ModList::update()
|
||||
return false;
|
||||
|
||||
QList<Mod> newMods;
|
||||
|
||||
m_dir.refresh();
|
||||
auto folderContents = m_dir.entryInfoList();
|
||||
bool orderWasInvalid = false;
|
||||
|
||||
@ -206,7 +206,7 @@ bool ModList::deleteMod ( size_t index )
|
||||
if(m.destroy())
|
||||
{
|
||||
beginRemoveRows(QModelIndex(), index, index);
|
||||
mods.erase(mods.begin() + index);
|
||||
mods.removeAt(index);
|
||||
endRemoveRows();
|
||||
saveListFile();
|
||||
emit changed();
|
||||
@ -296,7 +296,7 @@ QStringList ModList::mimeTypes() const
|
||||
{
|
||||
QStringList types;
|
||||
types << "text/uri-list";
|
||||
types << "application/x-mcmod";
|
||||
types << "text/plain";
|
||||
return types;
|
||||
}
|
||||
|
||||
@ -314,21 +314,25 @@ Qt::DropActions ModList::supportedDragActions() const
|
||||
|
||||
QMimeData* ModList::mimeData ( const QModelIndexList& indexes ) const
|
||||
{
|
||||
QMimeData * data = new QMimeData();
|
||||
|
||||
if(indexes.size() == 0)
|
||||
return nullptr;
|
||||
return data;
|
||||
|
||||
auto idx = indexes[0];
|
||||
int row = idx.row();
|
||||
if(row <0 || row >= mods.size())
|
||||
return nullptr;
|
||||
|
||||
QMimeData * data = new QMimeData();
|
||||
return data;
|
||||
|
||||
QStringList params;
|
||||
params << m_list_id << QString::number(row);
|
||||
data->setData("application/x-mcmod", params.join('|').toLatin1());
|
||||
data->setText(params.join('|'));
|
||||
return data;
|
||||
}
|
||||
bool ModList::removeRows ( int row, int count, const QModelIndex& parent )
|
||||
{
|
||||
return QAbstractItemModel::removeRows ( row, count, parent );
|
||||
}
|
||||
|
||||
bool ModList::dropMimeData ( const QMimeData* data, Qt::DropAction action, int row, int column, const QModelIndex& parent )
|
||||
{
|
||||
@ -337,7 +341,6 @@ bool ModList::dropMimeData ( const QMimeData* data, Qt::DropAction action, int r
|
||||
// check if the action is supported
|
||||
if (!data || !(action & supportedDropActions()))
|
||||
return false;
|
||||
qDebug() << "row: " << row << " column: " << column;
|
||||
if(parent.isValid())
|
||||
{
|
||||
row = parent.row();
|
||||
@ -350,10 +353,10 @@ bool ModList::dropMimeData ( const QMimeData* data, Qt::DropAction action, int r
|
||||
row = rowCount();
|
||||
if (column == -1)
|
||||
column = 0;
|
||||
qDebug() << "row: " << row << " column: " << column;
|
||||
qDebug() << "Drop row: " << row << " column: " << column;
|
||||
|
||||
// files dropped from outside?
|
||||
if(data->hasFormat("text/uri-list") && data->hasUrls())
|
||||
if(data->hasUrls())
|
||||
{
|
||||
auto urls = data->urls();
|
||||
for(auto url: urls)
|
||||
@ -367,14 +370,15 @@ bool ModList::dropMimeData ( const QMimeData* data, Qt::DropAction action, int r
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else if(data->hasFormat("application/x-mcmod"))
|
||||
else if(data->hasText())
|
||||
{
|
||||
QString sourcestr = QString::fromLatin1(data->data("application/x-mcmod"));
|
||||
QString sourcestr = data->text();
|
||||
auto list = sourcestr.split('|');
|
||||
if(list.size() != 2)
|
||||
return false;
|
||||
QString remoteId = list[0];
|
||||
int remoteIndex = list[1].toInt();
|
||||
qDebug() << "move: " << sourcestr;
|
||||
// no moving of things between two lists
|
||||
if(remoteId != m_list_id)
|
||||
return false;
|
||||
|
@ -66,6 +66,8 @@ public:
|
||||
virtual bool dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column, const QModelIndex& parent);
|
||||
/// what drag actions do we support?
|
||||
virtual Qt::DropActions supportedDragActions() const;
|
||||
|
||||
virtual bool removeRows(int row, int count, const QModelIndex& parent = QModelIndex());
|
||||
/// what drop actions do we support?
|
||||
virtual Qt::DropActions supportedDropActions() const;
|
||||
|
||||
|
@ -151,9 +151,9 @@ void OneSixInstance::cleanupAfterRun()
|
||||
dir.removeRecursively();
|
||||
}
|
||||
|
||||
QSharedPointer< QDialog > OneSixInstance::createModEditDialog ( QWidget* parent )
|
||||
QDialog * OneSixInstance::createModEditDialog ( QWidget* parent )
|
||||
{
|
||||
return QSharedPointer< QDialog >();
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
||||
|
@ -23,7 +23,7 @@ public:
|
||||
virtual bool shouldUpdate() const;
|
||||
virtual void setShouldUpdate(bool val);
|
||||
|
||||
virtual QSharedPointer< QDialog > createModEditDialog ( QWidget* parent );
|
||||
virtual QDialog * createModEditDialog ( QWidget* parent );
|
||||
|
||||
/// reload the full version json file. return true on success!
|
||||
bool reloadFullVersion();
|
||||
|
Loading…
Reference in New Issue
Block a user