summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2014-01-19 04:52:34 +0100
committerPetr Mrázek <peterix@gmail.com>2014-01-19 04:52:34 +0100
commitd8413fa5ec594455b3cdec86899b61adba39eb33 (patch)
treeb9ece71804389f66b4a241edc59b8309c7729de2
parente6ab57b8b1275137d873c0c465aeffe61c13c324 (diff)
downloadMultiMC-d8413fa5ec594455b3cdec86899b61adba39eb33.tar
MultiMC-d8413fa5ec594455b3cdec86899b61adba39eb33.tar.gz
MultiMC-d8413fa5ec594455b3cdec86899b61adba39eb33.tar.lz
MultiMC-d8413fa5ec594455b3cdec86899b61adba39eb33.tar.xz
MultiMC-d8413fa5ec594455b3cdec86899b61adba39eb33.zip
Use icon theme so we can have more than one icon size per icon
-rw-r--r--CMakeLists.txt10
-rw-r--r--graphics.qrc51
-rw-r--r--gui/MainWindow.cpp31
-rw-r--r--gui/MainWindow.ui41
-rw-r--r--main.cpp5
-rw-r--r--resources/MultiMC.ico (renamed from resources/icons/MultiMC.ico)bin76126 -> 76126 bytes
-rw-r--r--resources/XdgIcon.theme12
-rw-r--r--resources/backgrounds/backgrounds.qrc6
-rw-r--r--resources/backgrounds/catbgrnd2.png (renamed from resources/catbgrnd2.png)bin78285 -> 78285 bytes
-rw-r--r--resources/instances/brick.png (renamed from resources/icons/instances/brick.png)bin713 -> 713 bytes
-rw-r--r--resources/instances/chicken.png (renamed from resources/icons/instances/chicken.png)bin1181 -> 1181 bytes
-rw-r--r--resources/instances/chicken128.png (renamed from resources/icons/instances/chicken128.png)bin6369 -> 6369 bytes
-rw-r--r--resources/instances/creeper.png (renamed from resources/icons/instances/creeper.png)bin1524 -> 1524 bytes
-rw-r--r--resources/instances/creeper128.png (renamed from resources/icons/instances/creeper128.png)bin9046 -> 9046 bytes
-rw-r--r--resources/instances/derp.png (renamed from resources/icons/instances/derp.png)bin5225 -> 5225 bytes
-rw-r--r--resources/instances/diamond.png (renamed from resources/icons/instances/diamond.png)bin708 -> 708 bytes
-rw-r--r--resources/instances/dirt.png (renamed from resources/icons/instances/dirt.png)bin482 -> 482 bytes
-rw-r--r--resources/instances/enderman.png (renamed from resources/icons/instances/enderman.png)bin2429 -> 2429 bytes
-rw-r--r--resources/instances/enderpearl.png (renamed from resources/icons/instances/enderpearl.png)bin2120 -> 2120 bytes
-rw-r--r--resources/instances/enderpearl128.png (renamed from resources/icons/instances/enderpearl128.png)bin21425 -> 21425 bytes
-rw-r--r--resources/instances/ftb_glow.png (renamed from resources/icons/instances/ftb_glow.png)bin1747 -> 1747 bytes
-rw-r--r--resources/instances/ftb_glow128.png (renamed from resources/icons/instances/ftb_glow128.png)bin12708 -> 12708 bytes
-rw-r--r--resources/instances/ftb_logo.png (renamed from resources/icons/instances/ftb_logo.png)bin1607 -> 1607 bytes
-rw-r--r--resources/instances/ftb_logo128.png (renamed from resources/icons/instances/ftb_logo128.png)bin7883 -> 7883 bytes
-rw-r--r--resources/instances/gear.png (renamed from resources/icons/instances/gear.png)bin2414 -> 2414 bytes
-rw-r--r--resources/instances/gear128.png (renamed from resources/icons/instances/gear128.png)bin18321 -> 18321 bytes
-rw-r--r--resources/instances/gold.png (renamed from resources/icons/instances/gold.png)bin978 -> 978 bytes
-rw-r--r--resources/instances/grass.png (renamed from resources/icons/instances/grass.png)bin618 -> 618 bytes
-rw-r--r--resources/instances/herobrine.png (renamed from resources/icons/instances/herobrine.png)bin1034 -> 1034 bytes
-rw-r--r--resources/instances/herobrine128.png (renamed from resources/icons/instances/herobrine128.png)bin4937 -> 4937 bytes
-rw-r--r--resources/instances/infinity.png (renamed from resources/icons/instances/infinity.png)bin1714 -> 1714 bytes
-rw-r--r--resources/instances/infinity128.png (renamed from resources/icons/instances/infinity128.png)bin9237 -> 9237 bytes
-rw-r--r--resources/instances/instances.qrc30
-rw-r--r--resources/instances/iron.png (renamed from resources/icons/instances/iron.png)bin532 -> 532 bytes
-rw-r--r--resources/instances/magitech.png (renamed from resources/icons/instances/magitech.png)bin2646 -> 2646 bytes
-rw-r--r--resources/instances/magitech128.png (renamed from resources/icons/instances/magitech128.png)bin23097 -> 23097 bytes
-rw-r--r--resources/instances/meat.png (renamed from resources/icons/instances/meat.png)bin1514 -> 1514 bytes
-rw-r--r--resources/instances/meat128.png (renamed from resources/icons/instances/meat128.png)bin10583 -> 10583 bytes
-rw-r--r--resources/instances/netherstar.png (renamed from resources/icons/instances/netherstar.png)bin1942 -> 1942 bytes
-rw-r--r--resources/instances/netherstar128.png (renamed from resources/icons/instances/netherstar128.png)bin14062 -> 14062 bytes
-rw-r--r--resources/instances/planks.png (renamed from resources/icons/instances/planks.png)bin461 -> 461 bytes
-rw-r--r--resources/instances/skeleton.png (renamed from resources/icons/instances/skeleton.png)bin696 -> 696 bytes
-rw-r--r--resources/instances/skeleton128.png (renamed from resources/icons/instances/skeleton128.png)bin3673 -> 3673 bytes
-rw-r--r--resources/instances/squarecreeper.png (renamed from resources/icons/instances/squarecreeper.png)bin1623 -> 1623 bytes
-rw-r--r--resources/instances/squarecreeper128.png (renamed from resources/icons/instances/squarecreeper128.png)bin9136 -> 9136 bytes
-rw-r--r--resources/instances/steve.png (renamed from resources/icons/instances/steve.png)bin969 -> 969 bytes
-rw-r--r--resources/instances/steve128.png (renamed from resources/icons/instances/steve128.png)bin4312 -> 4312 bytes
-rw-r--r--resources/instances/stone.png (renamed from resources/icons/instances/stone.png)bin438 -> 438 bytes
-rw-r--r--resources/instances/tnt.png (renamed from resources/icons/instances/tnt.png)bin378 -> 378 bytes
-rw-r--r--resources/multimc/16x16/noaccount.pngbin0 -> 334 bytes
-rw-r--r--resources/multimc/16x16/refresh.pngbin0 -> 1389 bytes
-rw-r--r--resources/multimc/22x22/about.png (renamed from resources/icons/toolbar/about.png)bin1693 -> 1693 bytes
-rw-r--r--resources/multimc/22x22/bug.png (renamed from resources/icons/toolbar/ReportBug.png)bin1180 -> 1180 bytes
-rw-r--r--resources/multimc/22x22/centralmods.png (renamed from resources/icons/toolbar/centralmods.png)bin1561 -> 1561 bytes
-rw-r--r--resources/multimc/22x22/checkupdate.png (renamed from resources/icons/toolbar/checkupdate.png)bin1635 -> 1635 bytes
-rw-r--r--resources/multimc/22x22/copy.png (renamed from resources/icons/toolbar/InstCopy.png)bin297 -> 297 bytes
-rw-r--r--resources/multimc/22x22/help.png (renamed from resources/icons/toolbar/help.png)bin1735 -> 1735 bytes
-rw-r--r--resources/multimc/22x22/new.png (renamed from resources/icons/toolbar/new.png)bin1440 -> 1440 bytes
-rw-r--r--resources/multimc/22x22/news.png (renamed from resources/icons/toolbar/NewsIcon.png)bin1173 -> 1173 bytes
-rw-r--r--resources/multimc/22x22/refresh.png (renamed from resources/icons/toolbar/refresh.png)bin1843 -> 1843 bytes
-rw-r--r--resources/multimc/22x22/settings.png (renamed from resources/icons/toolbar/settings.png)bin1964 -> 1964 bytes
-rw-r--r--resources/multimc/22x22/viewfolder.png (renamed from resources/icons/toolbar/viewfolder.png)bin1006 -> 1006 bytes
-rw-r--r--resources/multimc/24x24/cat.png (renamed from resources/icons/toolbar/Cat.png)bin811 -> 811 bytes
-rw-r--r--resources/multimc/24x24/noaccount.pngbin0 -> 344 bytes
-rw-r--r--resources/multimc/24x24/refresh.pngbin0 -> 2116 bytes
-rw-r--r--resources/multimc/32x32/noaccount.pngbin0 -> 363 bytes
-rw-r--r--resources/multimc/32x32/refresh.pngbin0 -> 2822 bytes
-rw-r--r--resources/multimc/48x48/noaccount.pngbin0 -> 387 bytes
-rw-r--r--resources/multimc/48x48/refresh.pngbin0 -> 3922 bytes
-rw-r--r--resources/multimc/8x8/noaccount.png (renamed from resources/icons/toolbar/NoAccount.png)bin284 -> 284 bytes
-rw-r--r--resources/multimc/index.theme30
-rw-r--r--resources/multimc/multimc.qrc32
-rw-r--r--resources/multimc/scalable/apps/multimc.svg (renamed from resources/icons/multimc.svg)0
-rw-r--r--resources/multimc/scalable/bug.svg (renamed from resources/icons/toolbar_svg/bug.svg)0
-rw-r--r--resources/multimc/scalable/console.svg (renamed from resources/icons/console.svg)0
-rw-r--r--resources/multimc/scalable/console_error.svg (renamed from resources/icons/console_error.svg)0
-rw-r--r--resources/multimc/scalable/news.svg (renamed from resources/icons/toolbar_svg/news.svg)0
-rw-r--r--resources/sources/clucker.svg (renamed from resources/icons/instances_svg/clucker.svg)0
-rw-r--r--resources/sources/creeper.svg (renamed from resources/icons/instances_svg/creeper.svg)0
-rw-r--r--resources/sources/enderpearl.svg (renamed from resources/icons/instances_svg/enderpearl.svg)0
-rw-r--r--resources/sources/ftb-glow.svg (renamed from resources/icons/instances_svg/ftb-glow.svg)0
-rw-r--r--resources/sources/ftb-logo.svg (renamed from resources/icons/instances_svg/ftb-logo.svg)0
-rw-r--r--resources/sources/gear.svg (renamed from resources/icons/instances_svg/gear.svg)0
-rw-r--r--resources/sources/herobrine.svg (renamed from resources/icons/instances_svg/herobrine.svg)0
-rw-r--r--resources/sources/magitech.svg (renamed from resources/icons/instances_svg/magitech.svg)0
-rw-r--r--resources/sources/meat.svg (renamed from resources/icons/instances_svg/meat.svg)0
-rw-r--r--resources/sources/netherstar.svg (renamed from resources/icons/instances_svg/netherstar.svg)0
-rw-r--r--resources/sources/pskeleton.svg (renamed from resources/icons/instances_svg/pskeleton.svg)0
-rw-r--r--resources/sources/skeleton.svg (renamed from resources/icons/instances_svg/skeleton.svg)0
-rw-r--r--resources/sources/squarecreeper.svg (renamed from resources/icons/instances_svg/squarecreeper.svg)0
-rw-r--r--resources/sources/status-bad.svg262
-rw-r--r--resources/sources/status-good.svg293
-rw-r--r--resources/sources/status-terrible.svg262
-rw-r--r--resources/sources/steve.svg (renamed from resources/icons/instances_svg/steve.svg)0
94 files changed, 953 insertions, 112 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c0a4439b..f2ccdab0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -519,6 +519,12 @@ gui/widgets/MCModInfoFrame.ui
set (FILES_TO_TRANSLATE ${FILES_TO_TRANSLATE} ${MULTIMC_SOURCES} ${MULTIMC_UIS})
+SET(MULTIMC_QRCS
+resources/backgrounds/backgrounds.qrc
+resources/multimc/multimc.qrc
+resources/instances/instances.qrc
+)
+
######## Windows resource files ########
IF(WIN32)
@@ -562,10 +568,10 @@ ENDIF(MultiMC_CODE_COVERAGE)
# Qt 5 stuff
QT5_WRAP_UI(MULTIMC_UI ${MULTIMC_UIS})
-QT5_ADD_RESOURCES(GRAPHICS_QRC graphics.qrc)
+QT5_ADD_RESOURCES(MULTIMC_RESOURCES ${MULTIMC_QRCS})
# Add common library
-ADD_LIBRARY(MultiMC_common STATIC ${MULTIMC_SOURCES} ${MULTIMC_UI} ${GRAPHICS_QRC})
+ADD_LIBRARY(MultiMC_common STATIC ${MULTIMC_SOURCES} ${MULTIMC_UI} ${MULTIMC_RESOURCES})
# Add executable
ADD_EXECUTABLE(MultiMC MACOSX_BUNDLE WIN32 main.cpp ${MULTIMC_RCS})
diff --git a/graphics.qrc b/graphics.qrc
deleted file mode 100644
index 68d3beed..00000000
--- a/graphics.qrc
+++ /dev/null
@@ -1,51 +0,0 @@
-<RCC>
- <qresource prefix="/icons/toolbar">
- <file alias="about">resources/icons/toolbar/about.png</file>
- <file alias="bug">resources/icons/toolbar/ReportBug.png</file>
- <file alias="centralmods">resources/icons/toolbar/centralmods.png</file>
- <file alias="checkupdate">resources/icons/toolbar/checkupdate.png</file>
- <file alias="help">resources/icons/toolbar/help.png</file>
- <file alias="new">resources/icons/toolbar/new.png</file>
- <file alias="copy">resources/icons/toolbar/InstCopy.png</file>
- <file alias="news">resources/icons/toolbar/NewsIcon.png</file>
- <file alias="refresh">resources/icons/toolbar/refresh.png</file>
- <file alias="settings">resources/icons/toolbar/settings.png</file>
- <file alias="viewfolder">resources/icons/toolbar/viewfolder.png</file>
- <file alias="cat">resources/icons/toolbar/Cat.png</file>
- <file alias="noaccount">resources/icons/toolbar/NoAccount.png</file>
- </qresource>
- <qresource prefix="/icons/instances">
- <file alias="brick">resources/icons/instances/brick.png</file>
- <file alias="chicken">resources/icons/instances/chicken128.png</file>
- <file alias="creeper">resources/icons/instances/creeper128.png</file>
- <file alias="derp">resources/icons/instances/derp.png</file>
- <file alias="diamond">resources/icons/instances/diamond.png</file>
- <file alias="dirt">resources/icons/instances/dirt.png</file>
- <file alias="enderman">resources/icons/instances/enderman.png</file>
- <file alias="enderpearl">resources/icons/instances/enderpearl128.png</file>
- <file alias="ftb-glow">resources/icons/instances/ftb_glow128.png</file>
- <file alias="ftb-logo">resources/icons/instances/ftb_logo128.png</file>
- <file alias="gear">resources/icons/instances/gear128.png</file>
- <file alias="gold">resources/icons/instances/gold.png</file>
- <file alias="grass">resources/icons/instances/grass.png</file>
- <file alias="herobrine">resources/icons/instances/herobrine128.png</file>
- <file alias="infinity">resources/icons/instances/infinity128.png</file>
- <file alias="iron">resources/icons/instances/iron.png</file>
- <file alias="magitech">resources/icons/instances/magitech128.png</file>
- <file alias="meat">resources/icons/instances/meat128.png</file>
- <file alias="netherstar">resources/icons/instances/netherstar128.png</file>
- <file alias="planks">resources/icons/instances/planks.png</file>
- <file alias="skeleton">resources/icons/instances/skeleton128.png</file>
- <file alias="squarecreeper">resources/icons/instances/squarecreeper128.png</file>
- <file alias="steve">resources/icons/instances/steve128.png</file>
- <file alias="stone">resources/icons/instances/stone.png</file>
- <file alias="tnt">resources/icons/instances/tnt.png</file>
- </qresource>
- <qresource prefix="/icons/multimc">
- <file alias="scalable/apps/multimc.svg">resources/icons/multimc.svg</file>
- <file alias="index.theme">resources/XdgIcon.theme</file>
- </qresource>
- <qresource prefix="/backgrounds">
- <file alias="kitteh">resources/catbgrnd2.png</file>
- </qresource>
-</RCC>
diff --git a/gui/MainWindow.cpp b/gui/MainWindow.cpp
index cca1ecac..7c8562cd 100644
--- a/gui/MainWindow.cpp
+++ b/gui/MainWindow.cpp
@@ -128,7 +128,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
// Add the news label to the news toolbar.
{
newsLabel = new QToolButton();
- newsLabel->setIcon(QIcon(":/icons/toolbar/news"));
+ newsLabel->setIcon(QIcon::fromTheme("news"));
newsLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
newsLabel->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
ui->newsToolBar->insertWidget(ui->actionMoreNews, newsLabel);
@@ -203,9 +203,9 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
m_statusLeft = new QLabel(tr("No instance selected"), this);
m_statusRight = new QLabel(tr("No status available"), this);
m_statusRefresh = new QToolButton(this);
+ m_statusRefresh->setCheckable(true);
m_statusRefresh->setToolButtonStyle(Qt::ToolButtonIconOnly);
- m_statusRefresh->setIcon(
- QPixmap(":/icons/toolbar/refresh").scaled(16, 16, Qt::KeepAspectRatio));
+ m_statusRefresh->setIcon(QIcon::fromTheme("refresh"));
statusBar()->addPermanentWidget(m_statusLeft, 1);
statusBar()->addPermanentWidget(m_statusRight, 0);
@@ -241,8 +241,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
accountMenuButton->setMenu(accountMenu);
accountMenuButton->setPopupMode(QToolButton::InstantPopup);
accountMenuButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
- accountMenuButton->setIcon(
- QPixmap(":/icons/toolbar/noaccount").scaled(48, 48, Qt::KeepAspectRatio));
+ accountMenuButton->setIcon(QIcon::fromTheme("noaccount"));
QWidgetAction *accountMenuButtonAction = new QWidgetAction(this);
accountMenuButtonAction->setDefaultWidget(accountMenuButton);
@@ -408,7 +407,7 @@ void MainWindow::repopulateAccountsMenu()
QAction *action = new QAction(tr("No Default Account"), this);
action->setCheckable(true);
- action->setIcon(QPixmap(":/icons/toolbar/noaccount").scaled(48, 48, Qt::KeepAspectRatio));
+ action->setIcon(QIcon::fromTheme("noaccount"));
action->setData("");
if (active_username.isEmpty())
{
@@ -462,8 +461,7 @@ void MainWindow::activeAccountChanged()
}
// Set the icon to the "no account" icon.
- accountMenuButton->setIcon(
- QPixmap(":/icons/toolbar/noaccount").scaled(48, 48, Qt::KeepAspectRatio));
+ accountMenuButton->setIcon(QIcon::fromTheme("noaccount"));
}
bool MainWindow::eventFilter(QObject *obj, QEvent *ev)
@@ -533,8 +531,9 @@ static QString convertStatus(const QString &status)
void MainWindow::reloadStatus()
{
+ m_statusRefresh->setChecked(true);
MMC->statusChecker()->reloadStatus();
- updateStatusUI();
+ //updateStatusUI();
}
static QString makeStatusString(const QMap<QString, QString> statuses)
@@ -555,16 +554,7 @@ void MainWindow::updateStatusUI()
auto statuses = statusChecker->getStatusEntries();
QString status = makeStatusString(statuses);
- if(statusChecker->isLoadingStatus())
- {
- m_statusRefresh->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
- m_statusRefresh->setText(tr("Loading..."));
- }
- else
- {
- m_statusRefresh->setToolButtonStyle(Qt::ToolButtonIconOnly);
- m_statusRefresh->setText(tr(""));
- }
+ m_statusRefresh->setChecked(false);
m_statusRight->setText(status);
@@ -574,8 +564,7 @@ void MainWindow::updateStatusUI()
void MainWindow::updateStatusFailedUI()
{
m_statusRight->setText(makeStatusString(QMap<QString, QString>()));
- m_statusRefresh->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
- m_statusRefresh->setText(tr("Failed."));
+ m_statusRefresh->setChecked(false);
statusTimer.start(60 * 1000);
}
diff --git a/gui/MainWindow.ui b/gui/MainWindow.ui
index 16e72c2f..5653907e 100644
--- a/gui/MainWindow.ui
+++ b/gui/MainWindow.ui
@@ -14,7 +14,7 @@
<string>MultiMC 5</string>
</property>
<property name="windowIcon">
- <iconset resource="../graphics.qrc">
+ <iconset resource="../resources/multimc/multimc.qrc">
<normaloff>:/icons/multimc/scalable/apps/multimc.svg</normaloff>:/icons/multimc/scalable/apps/multimc.svg</iconset>
</property>
<widget class="QWidget" name="centralWidget">
@@ -152,8 +152,7 @@
</widget>
<action name="actionAddInstance">
<property name="icon">
- <iconset resource="../graphics.qrc">
- <normaloff>:/icons/toolbar/new</normaloff>:/icons/toolbar/new</iconset>
+ <iconset theme="new"/>
</property>
<property name="text">
<string>Add Instance</string>
@@ -167,8 +166,7 @@
</action>
<action name="actionViewInstanceFolder">
<property name="icon">
- <iconset resource="../graphics.qrc">
- <normaloff>:/icons/toolbar/viewfolder</normaloff>:/icons/toolbar/viewfolder</iconset>
+ <iconset theme="viewfolder"/>
</property>
<property name="text">
<string>View Instance Folder</string>
@@ -182,8 +180,7 @@
</action>
<action name="actionRefresh">
<property name="icon">
- <iconset resource="../graphics.qrc">
- <normaloff>:/icons/toolbar/refresh</normaloff>:/icons/toolbar/refresh</iconset>
+ <iconset theme="refresh"/>
</property>
<property name="text">
<string>Refresh</string>
@@ -197,8 +194,7 @@
</action>
<action name="actionViewCentralModsFolder">
<property name="icon">
- <iconset resource="../graphics.qrc">
- <normaloff>:/icons/toolbar/centralmods</normaloff>:/icons/toolbar/centralmods</iconset>
+ <iconset theme="centralmods"/>
</property>
<property name="text">
<string>View Central Mods Folder</string>
@@ -212,8 +208,7 @@
</action>
<action name="actionCheckUpdate">
<property name="icon">
- <iconset resource="../graphics.qrc">
- <normaloff>:/icons/toolbar/checkupdate</normaloff>:/icons/toolbar/checkupdate</iconset>
+ <iconset theme="checkupdate"/>
</property>
<property name="text">
<string>Check for Updates</string>
@@ -227,8 +222,7 @@
</action>
<action name="actionSettings">
<property name="icon">
- <iconset resource="../graphics.qrc">
- <normaloff>:/icons/toolbar/settings</normaloff>:/icons/toolbar/settings</iconset>
+ <iconset theme="settings"/>
</property>
<property name="text">
<string>Settings</string>
@@ -245,8 +239,7 @@
</action>
<action name="actionReportBug">
<property name="icon">
- <iconset resource="../graphics.qrc">
- <normaloff>:/icons/toolbar/bug</normaloff>:/icons/toolbar/bug</iconset>
+ <iconset theme="bug"/>
</property>
<property name="text">
<string>Report a Bug</string>
@@ -260,8 +253,7 @@
</action>
<action name="actionMoreNews">
<property name="icon">
- <iconset resource="../graphics.qrc">
- <normaloff>:/icons/toolbar/news</normaloff>:/icons/toolbar/news</iconset>
+ <iconset theme="news"/>
</property>
<property name="text">
<string>More News</string>
@@ -278,8 +270,7 @@
</action>
<action name="actionAbout">
<property name="icon">
- <iconset resource="../graphics.qrc">
- <normaloff>:/icons/toolbar/about</normaloff>:/icons/toolbar/about</iconset>
+ <iconset theme="about"/>
</property>
<property name="text">
<string>About MultiMC</string>
@@ -332,7 +323,7 @@
<bool>true</bool>
</property>
<property name="icon">
- <iconset resource="../graphics.qrc">
+ <iconset resource="../resources/instances/instances.qrc">
<normaloff>:/icons/instances/infinity</normaloff>:/icons/instances/infinity</iconset>
</property>
<property name="text">
@@ -472,8 +463,7 @@
<bool>true</bool>
</property>
<property name="icon">
- <iconset resource="../graphics.qrc">
- <normaloff>:/icons/toolbar/cat</normaloff>:/icons/toolbar/cat</iconset>
+ <iconset theme="cat"/>
</property>
<property name="text">
<string>Meow</string>
@@ -484,8 +474,7 @@
</action>
<action name="actionCopyInstance">
<property name="icon">
- <iconset resource="../graphics.qrc">
- <normaloff>:/icons/toolbar/copy</normaloff>:/icons/toolbar/copy</iconset>
+ <iconset theme="copy"/>
</property>
<property name="text">
<string>Copy Instance</string>
@@ -508,7 +497,9 @@
</widget>
<layoutdefault spacing="6" margin="11"/>
<resources>
- <include location="../graphics.qrc"/>
+ <include location="../resources/instances/instances.qrc"/>
+ <include location="../resources/multimc/multimc.qrc"/>
+ <include location="../resources/backgrounds/backgrounds.qrc"/>
</resources>
<connections/>
</ui>
diff --git a/main.cpp b/main.cpp
index c91af978..181d7299 100644
--- a/main.cpp
+++ b/main.cpp
@@ -4,6 +4,7 @@
int main_gui(MultiMC &app)
{
// show main window
+ QIcon::setThemeName("multimc");
MainWindow mainWin;
mainWin.restoreState(QByteArray::fromBase64(MMC->settings()->get("MainWindowState").toByteArray()));
mainWin.restoreGeometry(QByteArray::fromBase64(MMC->settings()->get("MainWindowGeometry").toByteArray()));
@@ -18,7 +19,9 @@ int main(int argc, char *argv[])
// initialize Qt
MultiMC app(argc, argv);
- Q_INIT_RESOURCE(graphics);
+ Q_INIT_RESOURCE(instances);
+ Q_INIT_RESOURCE(multimc);
+ Q_INIT_RESOURCE(backgrounds);
switch (app.status())
{
diff --git a/resources/icons/MultiMC.ico b/resources/MultiMC.ico
index 734af0fb..734af0fb 100644
--- a/resources/icons/MultiMC.ico
+++ b/resources/MultiMC.ico
Binary files differ
diff --git a/resources/XdgIcon.theme b/resources/XdgIcon.theme
deleted file mode 100644
index ad26482e..00000000
--- a/resources/XdgIcon.theme
+++ /dev/null
@@ -1,12 +0,0 @@
-[Icon Theme]
-Name=MultiMC
-Comment=MultiMC Default Icons
-Inherits=default
-Directories=scalable/apps
-
-[scalable/apps]
-Size=48
-Type=scalable
-MinSize=1
-MaxSize=512
-Context=Applications
diff --git a/resources/backgrounds/backgrounds.qrc b/resources/backgrounds/backgrounds.qrc
new file mode 100644
index 00000000..55de139e
--- /dev/null
+++ b/resources/backgrounds/backgrounds.qrc
@@ -0,0 +1,6 @@
+<!DOCTYPE RCC>
+<RCC version="1.0">
+ <qresource prefix="/backgrounds">
+ <file alias="kitteh">catbgrnd2.png</file>
+ </qresource>
+</RCC>
diff --git a/resources/catbgrnd2.png b/resources/backgrounds/catbgrnd2.png
index 2b949e0b..2b949e0b 100644
--- a/resources/catbgrnd2.png
+++ b/resources/backgrounds/catbgrnd2.png
Binary files differ
diff --git a/resources/icons/instances/brick.png b/resources/instances/brick.png
index 0b534366..0b534366 100644
--- a/resources/icons/instances/brick.png
+++ b/resources/instances/brick.png
Binary files differ
diff --git a/resources/icons/instances/chicken.png b/resources/instances/chicken.png
index f870467a..f870467a 100644
--- a/resources/icons/instances/chicken.png
+++ b/resources/instances/chicken.png
Binary files differ
diff --git a/resources/icons/instances/chicken128.png b/resources/instances/chicken128.png
index 71f6dedc..71f6dedc 100644
--- a/resources/icons/instances/chicken128.png
+++ b/resources/instances/chicken128.png
Binary files differ
diff --git a/resources/icons/instances/creeper.png b/resources/instances/creeper.png
index a67ecfc3..a67ecfc3 100644
--- a/resources/icons/instances/creeper.png
+++ b/resources/instances/creeper.png
Binary files differ
diff --git a/resources/icons/instances/creeper128.png b/resources/instances/creeper128.png
index 41b7d07d..41b7d07d 100644
--- a/resources/icons/instances/creeper128.png
+++ b/resources/instances/creeper128.png
Binary files differ
diff --git a/resources/icons/instances/derp.png b/resources/instances/derp.png
index 4c361942..4c361942 100644
--- a/resources/icons/instances/derp.png
+++ b/resources/instances/derp.png
Binary files differ
diff --git a/resources/icons/instances/diamond.png b/resources/instances/diamond.png
index 376ab901..376ab901 100644
--- a/resources/icons/instances/diamond.png
+++ b/resources/instances/diamond.png
Binary files differ
diff --git a/resources/icons/instances/dirt.png b/resources/instances/dirt.png
index 9e19eb8f..9e19eb8f 100644
--- a/resources/icons/instances/dirt.png
+++ b/resources/instances/dirt.png
Binary files differ
diff --git a/resources/icons/instances/enderman.png b/resources/instances/enderman.png
index 9f3a72b3..9f3a72b3 100644
--- a/resources/icons/instances/enderman.png
+++ b/resources/instances/enderman.png
Binary files differ
diff --git a/resources/icons/instances/enderpearl.png b/resources/instances/enderpearl.png
index a818eb8e..a818eb8e 100644
--- a/resources/icons/instances/enderpearl.png
+++ b/resources/instances/enderpearl.png
Binary files differ
diff --git a/resources/icons/instances/enderpearl128.png b/resources/instances/enderpearl128.png
index 0a5bf91a..0a5bf91a 100644
--- a/resources/icons/instances/enderpearl128.png
+++ b/resources/instances/enderpearl128.png
Binary files differ
diff --git a/resources/icons/instances/ftb_glow.png b/resources/instances/ftb_glow.png
index c4e6fd5d..c4e6fd5d 100644
--- a/resources/icons/instances/ftb_glow.png
+++ b/resources/instances/ftb_glow.png
Binary files differ
diff --git a/resources/icons/instances/ftb_glow128.png b/resources/instances/ftb_glow128.png
index 86632b21..86632b21 100644
--- a/resources/icons/instances/ftb_glow128.png
+++ b/resources/instances/ftb_glow128.png
Binary files differ
diff --git a/resources/icons/instances/ftb_logo.png b/resources/instances/ftb_logo.png
index 20df7171..20df7171 100644
--- a/resources/icons/instances/ftb_logo.png
+++ b/resources/instances/ftb_logo.png
Binary files differ
diff --git a/resources/icons/instances/ftb_logo128.png b/resources/instances/ftb_logo128.png
index e725b7fe..e725b7fe 100644
--- a/resources/icons/instances/ftb_logo128.png
+++ b/resources/instances/ftb_logo128.png
Binary files differ
diff --git a/resources/icons/instances/gear.png b/resources/instances/gear.png
index da9ba2f9..da9ba2f9 100644
--- a/resources/icons/instances/gear.png
+++ b/resources/instances/gear.png
Binary files differ
diff --git a/resources/icons/instances/gear128.png b/resources/instances/gear128.png
index 75c68a66..75c68a66 100644
--- a/resources/icons/instances/gear128.png
+++ b/resources/instances/gear128.png
Binary files differ
diff --git a/resources/icons/instances/gold.png b/resources/instances/gold.png
index 9bedda16..9bedda16 100644
--- a/resources/icons/instances/gold.png
+++ b/resources/instances/gold.png
Binary files differ
diff --git a/resources/icons/instances/grass.png b/resources/instances/grass.png
index f1694547..f1694547 100644
--- a/resources/icons/instances/grass.png
+++ b/resources/instances/grass.png
Binary files differ
diff --git a/resources/icons/instances/herobrine.png b/resources/instances/herobrine.png
index e5460da3..e5460da3 100644
--- a/resources/icons/instances/herobrine.png
+++ b/resources/instances/herobrine.png
Binary files differ
diff --git a/resources/icons/instances/herobrine128.png b/resources/instances/herobrine128.png
index 13f1494c..13f1494c 100644
--- a/resources/icons/instances/herobrine128.png
+++ b/resources/instances/herobrine128.png
Binary files differ
diff --git a/resources/icons/instances/infinity.png b/resources/instances/infinity.png
index bd94a3dc..bd94a3dc 100644
--- a/resources/icons/instances/infinity.png
+++ b/resources/instances/infinity.png
Binary files differ
diff --git a/resources/icons/instances/infinity128.png b/resources/instances/infinity128.png
index 226847fb..226847fb 100644
--- a/resources/icons/instances/infinity128.png
+++ b/resources/instances/infinity128.png
Binary files differ
diff --git a/resources/instances/instances.qrc b/resources/instances/instances.qrc
new file mode 100644
index 00000000..e9d22c78
--- /dev/null
+++ b/resources/instances/instances.qrc
@@ -0,0 +1,30 @@
+<!DOCTYPE RCC>
+<RCC version="1.0">
+ <qresource prefix="/icons/instances">
+ <file alias="brick">brick.png</file>
+ <file alias="chicken">chicken128.png</file>
+ <file alias="creeper">creeper128.png</file>
+ <file alias="derp">derp.png</file>
+ <file alias="diamond">diamond.png</file>
+ <file alias="dirt">dirt.png</file>
+ <file alias="enderman">enderman.png</file>
+ <file alias="enderpearl">enderpearl128.png</file>
+ <file alias="ftb-glow">ftb_glow128.png</file>
+ <file alias="ftb-logo">ftb_logo128.png</file>
+ <file alias="gear">gear128.png</file>
+ <file alias="gold">gold.png</file>
+ <file alias="grass">grass.png</file>
+ <file alias="herobrine">herobrine128.png</file>
+ <file alias="infinity">infinity128.png</file>
+ <file alias="iron">iron.png</file>
+ <file alias="magitech">magitech128.png</file>
+ <file alias="meat">meat128.png</file>
+ <file alias="netherstar">netherstar128.png</file>
+ <file alias="planks">planks.png</file>
+ <file alias="skeleton">skeleton128.png</file>
+ <file alias="squarecreeper">squarecreeper128.png</file>
+ <file alias="steve">steve128.png</file>
+ <file alias="stone">stone.png</file>
+ <file alias="tnt">tnt.png</file>
+ </qresource>
+</RCC>
diff --git a/resources/icons/instances/iron.png b/resources/instances/iron.png
index 28960782..28960782 100644
--- a/resources/icons/instances/iron.png
+++ b/resources/instances/iron.png
Binary files differ
diff --git a/resources/icons/instances/magitech.png b/resources/instances/magitech.png
index 6fd8ff60..6fd8ff60 100644
--- a/resources/icons/instances/magitech.png
+++ b/resources/instances/magitech.png
Binary files differ
diff --git a/resources/icons/instances/magitech128.png b/resources/instances/magitech128.png
index 0f81a199..0f81a199 100644
--- a/resources/icons/instances/magitech128.png
+++ b/resources/instances/magitech128.png
Binary files differ
diff --git a/resources/icons/instances/meat.png b/resources/instances/meat.png
index 6694859d..6694859d 100644
--- a/resources/icons/instances/meat.png
+++ b/resources/instances/meat.png
Binary files differ
diff --git a/resources/icons/instances/meat128.png b/resources/instances/meat128.png
index fefc9bf1..fefc9bf1 100644
--- a/resources/icons/instances/meat128.png
+++ b/resources/instances/meat128.png
Binary files differ
diff --git a/resources/icons/instances/netherstar.png b/resources/instances/netherstar.png
index 43cb5113..43cb5113 100644
--- a/resources/icons/instances/netherstar.png
+++ b/resources/instances/netherstar.png
Binary files differ
diff --git a/resources/icons/instances/netherstar128.png b/resources/instances/netherstar128.png
index 132085f0..132085f0 100644
--- a/resources/icons/instances/netherstar128.png
+++ b/resources/instances/netherstar128.png
Binary files differ
diff --git a/resources/icons/instances/planks.png b/resources/instances/planks.png
index 7fcf8467..7fcf8467 100644
--- a/resources/icons/instances/planks.png
+++ b/resources/instances/planks.png
Binary files differ
diff --git a/resources/icons/instances/skeleton.png b/resources/instances/skeleton.png
index 0c8d3505..0c8d3505 100644
--- a/resources/icons/instances/skeleton.png
+++ b/resources/instances/skeleton.png
Binary files differ
diff --git a/resources/icons/instances/skeleton128.png b/resources/instances/skeleton128.png
index 55fcf5a9..55fcf5a9 100644
--- a/resources/icons/instances/skeleton128.png
+++ b/resources/instances/skeleton128.png
Binary files differ
diff --git a/resources/icons/instances/squarecreeper.png b/resources/instances/squarecreeper.png
index b78c4ae0..b78c4ae0 100644
--- a/resources/icons/instances/squarecreeper.png
+++ b/resources/instances/squarecreeper.png
Binary files differ
diff --git a/resources/icons/instances/squarecreeper128.png b/resources/instances/squarecreeper128.png
index c82d8406..c82d8406 100644
--- a/resources/icons/instances/squarecreeper128.png
+++ b/resources/instances/squarecreeper128.png
Binary files differ
diff --git a/resources/icons/instances/steve.png b/resources/instances/steve.png
index 07c6acde..07c6acde 100644
--- a/resources/icons/instances/steve.png
+++ b/resources/instances/steve.png
Binary files differ
diff --git a/resources/icons/instances/steve128.png b/resources/instances/steve128.png
index a07cbd2f..a07cbd2f 100644
--- a/resources/icons/instances/steve128.png
+++ b/resources/instances/steve128.png
Binary files differ
diff --git a/resources/icons/instances/stone.png b/resources/instances/stone.png
index 34f9a751..34f9a751 100644
--- a/resources/icons/instances/stone.png
+++ b/resources/instances/stone.png
Binary files differ
diff --git a/resources/icons/instances/tnt.png b/resources/instances/tnt.png
index e40d404d..e40d404d 100644
--- a/resources/icons/instances/tnt.png
+++ b/resources/instances/tnt.png
Binary files differ
diff --git a/resources/multimc/16x16/noaccount.png b/resources/multimc/16x16/noaccount.png
new file mode 100644
index 00000000..b49bcf36
--- /dev/null
+++ b/resources/multimc/16x16/noaccount.png
Binary files differ
diff --git a/resources/multimc/16x16/refresh.png b/resources/multimc/16x16/refresh.png
new file mode 100644
index 00000000..dc66b824
--- /dev/null
+++ b/resources/multimc/16x16/refresh.png
Binary files differ
diff --git a/resources/icons/toolbar/about.png b/resources/multimc/22x22/about.png
index 57775e25..57775e25 100644
--- a/resources/icons/toolbar/about.png
+++ b/resources/multimc/22x22/about.png
Binary files differ
diff --git a/resources/icons/toolbar/ReportBug.png b/resources/multimc/22x22/bug.png
index 90481bba..90481bba 100644
--- a/resources/icons/toolbar/ReportBug.png
+++ b/resources/multimc/22x22/bug.png
Binary files differ
diff --git a/resources/icons/toolbar/centralmods.png b/resources/multimc/22x22/centralmods.png
index a10f9a2b..a10f9a2b 100644
--- a/resources/icons/toolbar/centralmods.png
+++ b/resources/multimc/22x22/centralmods.png
Binary files differ
diff --git a/resources/icons/toolbar/checkupdate.png b/resources/multimc/22x22/checkupdate.png
index badb200c..badb200c 100644
--- a/resources/icons/toolbar/checkupdate.png
+++ b/resources/multimc/22x22/checkupdate.png
Binary files differ
diff --git a/resources/icons/toolbar/InstCopy.png b/resources/multimc/22x22/copy.png
index c8f9db41..c8f9db41 100644
--- a/resources/icons/toolbar/InstCopy.png
+++ b/resources/multimc/22x22/copy.png
Binary files differ
diff --git a/resources/icons/toolbar/help.png b/resources/multimc/22x22/help.png
index da79b3e3..da79b3e3 100644
--- a/resources/icons/toolbar/help.png
+++ b/resources/multimc/22x22/help.png
Binary files differ
diff --git a/resources/icons/toolbar/new.png b/resources/multimc/22x22/new.png
index c707fbbf..c707fbbf 100644
--- a/resources/icons/toolbar/new.png
+++ b/resources/multimc/22x22/new.png
Binary files differ
diff --git a/resources/icons/toolbar/NewsIcon.png b/resources/multimc/22x22/news.png
index 1953bf7b..1953bf7b 100644
--- a/resources/icons/toolbar/NewsIcon.png
+++ b/resources/multimc/22x22/news.png
Binary files differ
diff --git a/resources/icons/toolbar/refresh.png b/resources/multimc/22x22/refresh.png
index 734729bf..734729bf 100644
--- a/resources/icons/toolbar/refresh.png
+++ b/resources/multimc/22x22/refresh.png
Binary files differ
diff --git a/resources/icons/toolbar/settings.png b/resources/multimc/22x22/settings.png
index daf56aad..daf56aad 100644
--- a/resources/icons/toolbar/settings.png
+++ b/resources/multimc/22x22/settings.png
Binary files differ
diff --git a/resources/icons/toolbar/viewfolder.png b/resources/multimc/22x22/viewfolder.png
index b645167f..b645167f 100644
--- a/resources/icons/toolbar/viewfolder.png
+++ b/resources/multimc/22x22/viewfolder.png
Binary files differ
diff --git a/resources/icons/toolbar/Cat.png b/resources/multimc/24x24/cat.png
index 4fcda3ea..4fcda3ea 100644
--- a/resources/icons/toolbar/Cat.png
+++ b/resources/multimc/24x24/cat.png
Binary files differ
diff --git a/resources/multimc/24x24/noaccount.png b/resources/multimc/24x24/noaccount.png
new file mode 100644
index 00000000..ac12437c
--- /dev/null
+++ b/resources/multimc/24x24/noaccount.png
Binary files differ
diff --git a/resources/multimc/24x24/refresh.png b/resources/multimc/24x24/refresh.png
new file mode 100644
index 00000000..09a11186
--- /dev/null
+++ b/resources/multimc/24x24/refresh.png
Binary files differ
diff --git a/resources/multimc/32x32/noaccount.png b/resources/multimc/32x32/noaccount.png
new file mode 100644
index 00000000..a73afc94
--- /dev/null
+++ b/resources/multimc/32x32/noaccount.png
Binary files differ
diff --git a/resources/multimc/32x32/refresh.png b/resources/multimc/32x32/refresh.png
new file mode 100644
index 00000000..1f0c3913
--- /dev/null
+++ b/resources/multimc/32x32/refresh.png
Binary files differ
diff --git a/resources/multimc/48x48/noaccount.png b/resources/multimc/48x48/noaccount.png
new file mode 100644
index 00000000..4703796c
--- /dev/null
+++ b/resources/multimc/48x48/noaccount.png
Binary files differ
diff --git a/resources/multimc/48x48/refresh.png b/resources/multimc/48x48/refresh.png
new file mode 100644
index 00000000..f81b8d67
--- /dev/null
+++ b/resources/multimc/48x48/refresh.png
Binary files differ
diff --git a/resources/icons/toolbar/NoAccount.png b/resources/multimc/8x8/noaccount.png
index 466e4c07..466e4c07 100644
--- a/resources/icons/toolbar/NoAccount.png
+++ b/resources/multimc/8x8/noaccount.png
Binary files differ
diff --git a/resources/multimc/index.theme b/resources/multimc/index.theme
new file mode 100644
index 00000000..d7d460c7
--- /dev/null
+++ b/resources/multimc/index.theme
@@ -0,0 +1,30 @@
+[Icon Theme]
+Name=multimc
+Comment=MultiMC Default Icons
+Inherits=default
+Directories=scalable/apps,8x8,16x16,22x22,24x24,32x32,48x48
+
+[scalable/apps]
+Size=48
+Type=scalable
+MinSize=1
+MaxSize=512
+Context=Applications
+
+[8x8]
+Size=8
+
+[16x16]
+Size=16
+
+[22x22]
+Size=22
+
+[24x24]
+Size=24
+
+[32x32]
+Size=32
+
+[48x48]
+Size=48
diff --git a/resources/multimc/multimc.qrc b/resources/multimc/multimc.qrc
new file mode 100644
index 00000000..bacd1f76
--- /dev/null
+++ b/resources/multimc/multimc.qrc
@@ -0,0 +1,32 @@
+<!DOCTYPE RCC>
+<RCC version="1.0">
+ <qresource prefix="/icons/multimc">
+ <file>index.theme</file>
+ <file>scalable/apps/multimc.svg</file>
+ <file>scalable/console.svg</file>
+ <file>scalable/console_error.svg</file>
+ <file>scalable/bug.svg</file>
+ <file>scalable/news.svg</file>
+ <file>22x22/about.png</file>
+ <file>22x22/bug.png</file>
+ <file>22x22/centralmods.png</file>
+ <file>22x22/checkupdate.png</file>
+ <file>22x22/help.png</file>
+ <file>22x22/new.png</file>
+ <file>22x22/copy.png</file>
+ <file>22x22/news.png</file>
+ <file>16x16/refresh.png</file>
+ <file>22x22/refresh.png</file>
+ <file>24x24/refresh.png</file>
+ <file>32x32/refresh.png</file>
+ <file>48x48/refresh.png</file>
+ <file>22x22/settings.png</file>
+ <file>22x22/viewfolder.png</file>
+ <file>24x24/cat.png</file>
+ <file>8x8/noaccount.png</file>
+ <file>16x16/noaccount.png</file>
+ <file>24x24/noaccount.png</file>
+ <file>32x32/noaccount.png</file>
+ <file>48x48/noaccount.png</file>
+ </qresource>
+</RCC>
diff --git a/resources/icons/multimc.svg b/resources/multimc/scalable/apps/multimc.svg
index 178509ac..178509ac 100644
--- a/resources/icons/multimc.svg
+++ b/resources/multimc/scalable/apps/multimc.svg
diff --git a/resources/icons/toolbar_svg/bug.svg b/resources/multimc/scalable/bug.svg
index 0534cbef..0534cbef 100644
--- a/resources/icons/toolbar_svg/bug.svg
+++ b/resources/multimc/scalable/bug.svg
diff --git a/resources/icons/console.svg b/resources/multimc/scalable/console.svg
index ec14ab68..ec14ab68 100644
--- a/resources/icons/console.svg
+++ b/resources/multimc/scalable/console.svg
diff --git a/resources/icons/console_error.svg b/resources/multimc/scalable/console_error.svg
index a71c6b35..a71c6b35 100644
--- a/resources/icons/console_error.svg
+++ b/resources/multimc/scalable/console_error.svg
diff --git a/resources/icons/toolbar_svg/news.svg b/resources/multimc/scalable/news.svg
index 67a370df..67a370df 100644
--- a/resources/icons/toolbar_svg/news.svg
+++ b/resources/multimc/scalable/news.svg
diff --git a/resources/icons/instances_svg/clucker.svg b/resources/sources/clucker.svg
index 0c1727eb..0c1727eb 100644
--- a/resources/icons/instances_svg/clucker.svg
+++ b/resources/sources/clucker.svg
diff --git a/resources/icons/instances_svg/creeper.svg b/resources/sources/creeper.svg
index 2a2e39b6..2a2e39b6 100644
--- a/resources/icons/instances_svg/creeper.svg
+++ b/resources/sources/creeper.svg
diff --git a/resources/icons/instances_svg/enderpearl.svg b/resources/sources/enderpearl.svg
index ac9378f5..ac9378f5 100644
--- a/resources/icons/instances_svg/enderpearl.svg
+++ b/resources/sources/enderpearl.svg
diff --git a/resources/icons/instances_svg/ftb-glow.svg b/resources/sources/ftb-glow.svg
index be78c78e..be78c78e 100644
--- a/resources/icons/instances_svg/ftb-glow.svg
+++ b/resources/sources/ftb-glow.svg
diff --git a/resources/icons/instances_svg/ftb-logo.svg b/resources/sources/ftb-logo.svg
index 8cf73567..8cf73567 100644
--- a/resources/icons/instances_svg/ftb-logo.svg
+++ b/resources/sources/ftb-logo.svg
diff --git a/resources/icons/instances_svg/gear.svg b/resources/sources/gear.svg
index c0169aec..c0169aec 100644
--- a/resources/icons/instances_svg/gear.svg
+++ b/resources/sources/gear.svg
diff --git a/resources/icons/instances_svg/herobrine.svg b/resources/sources/herobrine.svg
index 7392ba36..7392ba36 100644
--- a/resources/icons/instances_svg/herobrine.svg
+++ b/resources/sources/herobrine.svg
diff --git a/resources/icons/instances_svg/magitech.svg b/resources/sources/magitech.svg
index c6dd6bc0..c6dd6bc0 100644
--- a/resources/icons/instances_svg/magitech.svg
+++ b/resources/sources/magitech.svg
diff --git a/resources/icons/instances_svg/meat.svg b/resources/sources/meat.svg
index 69a20073..69a20073 100644
--- a/resources/icons/instances_svg/meat.svg
+++ b/resources/sources/meat.svg
diff --git a/resources/icons/instances_svg/netherstar.svg b/resources/sources/netherstar.svg
index 4046e4ec..4046e4ec 100644
--- a/resources/icons/instances_svg/netherstar.svg
+++ b/resources/sources/netherstar.svg
diff --git a/resources/icons/instances_svg/pskeleton.svg b/resources/sources/pskeleton.svg
index c2783df8..c2783df8 100644
--- a/resources/icons/instances_svg/pskeleton.svg
+++ b/resources/sources/pskeleton.svg
diff --git a/resources/icons/instances_svg/skeleton.svg b/resources/sources/skeleton.svg
index 5d55f272..5d55f272 100644
--- a/resources/icons/instances_svg/skeleton.svg
+++ b/resources/sources/skeleton.svg
diff --git a/resources/icons/instances_svg/squarecreeper.svg b/resources/sources/squarecreeper.svg
index a1b0f4d1..a1b0f4d1 100644
--- a/resources/icons/instances_svg/squarecreeper.svg
+++ b/resources/sources/squarecreeper.svg
diff --git a/resources/sources/status-bad.svg b/resources/sources/status-bad.svg
new file mode 100644
index 00000000..54334e06
--- /dev/null
+++ b/resources/sources/status-bad.svg
@@ -0,0 +1,262 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="64"
+ height="64"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="status-bad.svg"
+ inkscape:export-filename="/home/peterix/projects/MultiMC4/src/resources/insticons/enderpearl.png"
+ inkscape:export-xdpi="45"
+ inkscape:export-ydpi="45">
+ <defs
+ id="defs4">
+ <linearGradient
+ id="linearGradient4245">
+ <stop
+ id="stop4247"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ style="stop-color:#106810;stop-opacity:1"
+ offset="0.89412045"
+ id="stop4251" />
+ <stop
+ id="stop4249"
+ offset="1"
+ style="stop-color:#199c19;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4239">
+ <stop
+ id="stop4241"
+ offset="0"
+ style="stop-color:#513000;stop-opacity:1;" />
+ <stop
+ id="stop4243"
+ offset="1"
+ style="stop-color:#eea700;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4030">
+ <stop
+ id="stop4032"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop4034"
+ offset="1"
+ style="stop-color:#0c493f;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3954">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop3956" />
+ <stop
+ style="stop-color:#199c19;stop-opacity:1;"
+ offset="1"
+ id="stop3958" />
+ </linearGradient>
+ <filter
+ inkscape:collect="always"
+ id="filter3884">
+ <feGaussianBlur
+ inkscape:collect="always"
+ stdDeviation="0.505"
+ id="feGaussianBlur3886" />
+ </filter>
+ <filter
+ inkscape:collect="always"
+ id="filter3898"
+ x="-0.20110182"
+ width="1.4022036"
+ y="-0.20210065"
+ height="1.4042013">
+ <feGaussianBlur
+ inkscape:collect="always"
+ stdDeviation="1.0604979"
+ id="feGaussianBlur3900" />
+ </filter>
+ <filter
+ inkscape:collect="always"
+ id="filter3916"
+ x="-0.11491533"
+ width="1.2298307"
+ y="-0.11548609"
+ height="1.2309722">
+ <feGaussianBlur
+ inkscape:collect="always"
+ stdDeviation="0.6059988"
+ id="feGaussianBlur3918" />
+ </filter>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4239"
+ id="radialGradient4024"
+ gradientUnits="userSpaceOnUse"
+ cx="37.15184"
+ cy="33.513309"
+ fx="37.15184"
+ fy="33.513309"
+ r="20"
+ gradientTransform="matrix(-1.2888095,0.63917683,-0.44430494,-0.89587535,99.563439,45.881313)" />
+ <filter
+ inkscape:collect="always"
+ id="filter4110"
+ x="-0.17716113"
+ width="1.3543223"
+ y="-0.17804105"
+ height="1.3560821">
+ <feGaussianBlur
+ inkscape:collect="always"
+ stdDeviation="0.93424815"
+ id="feGaussianBlur4112" />
+ </filter>
+ <linearGradient
+ id="linearGradient3954-9">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop3956-4" />
+ <stop
+ style="stop-color:#0f5f52;stop-opacity:1;"
+ offset="1"
+ id="stop3958-2" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3954"
+ id="radialGradient4230"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1486906,1.2798015,-0.74419869,0.66795831,19.056258,-30.328315)"
+ cx="32"
+ cy="32"
+ fx="32"
+ fy="32"
+ r="20" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3954"
+ id="radialGradient4250"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1486906,1.2798015,-0.74419869,0.66795831,19.056258,-30.328315)"
+ cx="32"
+ cy="32"
+ fx="32"
+ fy="32"
+ r="20" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35355339"
+ inkscape:cx="-1038.0652"
+ inkscape:cy="556.75939"
+ inkscape:document-units="px"
+ inkscape:current-layer="g4116"
+ showgrid="false"
+ showguides="true"
+ inkscape:guide-bbox="true"
+ inkscape:window-width="1612"
+ inkscape:window-height="1026"
+ inkscape:window-x="1677"
+ inkscape:window-y="-4"
+ inkscape:window-maximized="1"
+ inkscape:snap-global="true"
+ inkscape:snap-bbox="true">
+ <inkscape:grid
+ type="xygrid"
+ id="grid2985"
+ empspacing="2"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true" />
+ <sodipodi:guide
+ orientation="0,1"
+ position="11.25,96.5"
+ id="guide4252" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-988.36218)">
+ <g
+ id="g4116"
+ transform="matrix(1.3594572,0,0,1.3553409,-10.875658,-362.67325)">
+ <path
+ transform="matrix(1.1769403,0,0,1.1769403,-6.1232836,982.70009)"
+ d="M 52,32 C 52,43.045695 43.045695,52 32,52 20.954305,52 12,43.045695 12,32 12,20.954305 20.954305,12 32,12 c 11.045695,0 20,8.954305 20,20 z"
+ sodipodi:ry="20"
+ sodipodi:rx="20"
+ sodipodi:cy="32"
+ sodipodi:cx="32"
+ id="path3014"
+ style="fill:url(#radialGradient4024);fill-opacity:1;stroke:none"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:nodetypes="ssccs"
+ inkscape:connector-curvature="0"
+ id="path3866"
+ transform="matrix(1.1769403,0,0,1.1769403,-5.6620909,982.68843)"
+ d="m 28,16 c -6.627417,0 -12,5.372583 -12,12 0,0.20181 0.0214,0.394383 0.03125,0.59375 C 20,20 22,22 28.65625,16.03125 28.436252,16.019242 28.222996,16 28,16 z"
+ style="fill:#ffbf00;fill-opacity:1;stroke:none;filter:url(#filter3884)" />
+ <path
+ transform="matrix(1.487885,0,0,1.487885,-10.597031,-493.22036)"
+ style="fill:#ffef00;fill-opacity:1;stroke:none;filter:url(#filter3898)"
+ d="m 28,1004.3622 c -6.627417,0 -12,5.3726 -12,12 0,0.2018 0.0214,0.3944 0.03125,0.5937 3.96875,-8.5937 5.96875,-6.5937 12.625,-12.5625 -0.219998,-0.012 -0.433254,-0.031 -0.65625,-0.031 z"
+ id="path3888"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ssccs" />
+ <path
+ sodipodi:nodetypes="ssccs"
+ inkscape:connector-curvature="0"
+ id="path3902"
+ d="m 28,1004.3622 c -6.627417,0 -12,5.3726 -12,12 0,0.2018 0.0214,0.3944 0.03125,0.5937 3.96875,-8.5937 5.96875,-6.5937 12.625,-12.5625 -0.219998,-0.012 -0.433254,-0.031 -0.65625,-0.031 z"
+ style="fill:#ffdd00;fill-opacity:1;stroke:none;filter:url(#filter3916)"
+ transform="matrix(-1.8359746,0,0,-1.8359746,81.432966,2885.3572)" />
+ <path
+ transform="matrix(-1.1914115,0,0,-1.1914115,69.087304,2235.4229)"
+ style="fill:#f4ecd7;fill-opacity:1;stroke:none;filter:url(#filter3916);opacity:0.7518797"
+ d="m 28,1004.3622 c -6.627417,0 -12,5.3726 -12,12 0,0.2018 0.0214,0.3944 0.03125,0.5937 3.96875,-8.5937 5.96875,-6.5937 12.625,-12.5625 -0.219998,-0.012 -0.433254,-0.031 -0.65625,-0.031 z"
+ id="path3920"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ssccs" />
+ <path
+ sodipodi:nodetypes="csccsc"
+ inkscape:connector-curvature="0"
+ id="path3964"
+ d="m 28,1004.3622 c -6.627417,0 -12,5.3726 -12,12 0,0.2018 0.0214,0.3944 0.03125,0.5937 5.570868,-4.4816 8.905966,-4.4575 12.625,-12.5625 -0.219998,-0.012 -0.433254,-0.031 -0.65625,-0.031 z"
+ style="fill:#ffffff;fill-opacity:1;stroke:none;filter:url(#filter4110);opacity:0.69924812"
+ transform="matrix(0.58516297,0,0,0.58516297,6.7391969,416.10681)" />
+ </g>
+ </g>
+</svg>
diff --git a/resources/sources/status-good.svg b/resources/sources/status-good.svg
new file mode 100644
index 00000000..3b311806
--- /dev/null
+++ b/resources/sources/status-good.svg
@@ -0,0 +1,293 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="64"
+ height="64"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="enderpearl.svg"
+ inkscape:export-filename="/home/peterix/projects/MultiMC4/src/resources/insticons/enderpearl.png"
+ inkscape:export-xdpi="45"
+ inkscape:export-ydpi="45">
+ <defs
+ id="defs4">
+ <linearGradient
+ id="linearGradient4245">
+ <stop
+ id="stop4247"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ style="stop-color:#106810;stop-opacity:1"
+ offset="0.89412045"
+ id="stop4251" />
+ <stop
+ id="stop4249"
+ offset="1"
+ style="stop-color:#199c19;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4239">
+ <stop
+ id="stop4241"
+ offset="0"
+ style="stop-color:#043400;stop-opacity:1" />
+ <stop
+ id="stop4243"
+ offset="1"
+ style="stop-color:#199c19;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4030">
+ <stop
+ id="stop4032"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop4034"
+ offset="1"
+ style="stop-color:#0c493f;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3954">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop3956" />
+ <stop
+ style="stop-color:#199c19;stop-opacity:1;"
+ offset="1"
+ id="stop3958" />
+ </linearGradient>
+ <filter
+ inkscape:collect="always"
+ id="filter3884">
+ <feGaussianBlur
+ inkscape:collect="always"
+ stdDeviation="0.505"
+ id="feGaussianBlur3886" />
+ </filter>
+ <filter
+ inkscape:collect="always"
+ id="filter3898"
+ x="-0.20110182"
+ width="1.4022036"
+ y="-0.20210065"
+ height="1.4042013">
+ <feGaussianBlur
+ inkscape:collect="always"
+ stdDeviation="1.0604979"
+ id="feGaussianBlur3900" />
+ </filter>
+ <filter
+ inkscape:collect="always"
+ id="filter3916"
+ x="-0.11491533"
+ width="1.2298307"
+ y="-0.11548609"
+ height="1.2309722">
+ <feGaussianBlur
+ inkscape:collect="always"
+ stdDeviation="0.6059988"
+ id="feGaussianBlur3918" />
+ </filter>
+ <filter
+ inkscape:collect="always"
+ id="filter3992">
+ <feGaussianBlur
+ inkscape:collect="always"
+ stdDeviation="1.44"
+ id="feGaussianBlur3994" />
+ </filter>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4239"
+ id="radialGradient4024"
+ gradientUnits="userSpaceOnUse"
+ cx="37.15184"
+ cy="33.513309"
+ fx="37.15184"
+ fy="33.513309"
+ r="20"
+ gradientTransform="matrix(-1.2888095,0.63917683,-0.44430494,-0.89587535,99.563439,45.881313)" />
+ <filter
+ inkscape:collect="always"
+ id="filter4082"
+ x="-0.13465964"
+ width="1.2693193"
+ y="-0.12490681"
+ height="1.2498136">
+ <feGaussianBlur
+ inkscape:collect="always"
+ stdDeviation="1.763901"
+ id="feGaussianBlur4084" />
+ </filter>
+ <filter
+ inkscape:collect="always"
+ id="filter4110"
+ x="-0.17716113"
+ width="1.3543223"
+ y="-0.17804105"
+ height="1.3560821">
+ <feGaussianBlur
+ inkscape:collect="always"
+ stdDeviation="0.93424815"
+ id="feGaussianBlur4112" />
+ </filter>
+ <linearGradient
+ id="linearGradient3954-9">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop3956-4" />
+ <stop
+ style="stop-color:#0f5f52;stop-opacity:1;"
+ offset="1"
+ id="stop3958-2" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3954"
+ id="radialGradient4230"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1486906,1.2798015,-0.74419869,0.66795831,19.056258,-30.328315)"
+ cx="32"
+ cy="32"
+ fx="32"
+ fy="32"
+ r="20" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3954"
+ id="radialGradient4250"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1486906,1.2798015,-0.74419869,0.66795831,19.056258,-30.328315)"
+ cx="32"
+ cy="32"
+ fx="32"
+ fy="32"
+ r="20" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4245"
+ id="radialGradient4231"
+ cx="11.428607"
+ cy="52.782928"
+ fx="11.428607"
+ fy="52.782928"
+ r="22.333248"
+ gradientTransform="matrix(0,-0.99787164,0.98982309,1.711883e-6,-20.245763,43.404188)"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="8"
+ inkscape:cx="30.78415"
+ inkscape:cy="28.132388"
+ inkscape:document-units="px"
+ inkscape:current-layer="g4116"
+ showgrid="false"
+ showguides="true"
+ inkscape:guide-bbox="true"
+ inkscape:window-width="1612"
+ inkscape:window-height="1026"
+ inkscape:window-x="1677"
+ inkscape:window-y="-4"
+ inkscape:window-maximized="1"
+ inkscape:snap-global="true"
+ inkscape:snap-bbox="true">
+ <inkscape:grid
+ type="xygrid"
+ id="grid2985"
+ empspacing="2"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true" />
+ <sodipodi:guide
+ orientation="0,1"
+ position="11.25,96.5"
+ id="guide4252" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-988.36218)">
+ <g
+ id="g4116"
+ transform="matrix(1.3594572,0,0,1.3553409,-10.875658,-362.67325)">
+ <path
+ transform="matrix(1.1769403,0,0,1.1769403,-6.1232836,982.70009)"
+ d="M 52,32 C 52,43.045695 43.045695,52 32,52 20.954305,52 12,43.045695 12,32 12,20.954305 20.954305,12 32,12 c 11.045695,0 20,8.954305 20,20 z"
+ sodipodi:ry="20"
+ sodipodi:rx="20"
+ sodipodi:cy="32"
+ sodipodi:cx="32"
+ id="path3014"
+ style="fill:url(#radialGradient4024);fill-opacity:1;stroke:none"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:nodetypes="ssccs"
+ inkscape:connector-curvature="0"
+ id="path3866"
+ transform="matrix(1.1769403,0,0,1.1769403,-5.6620909,982.68843)"
+ d="m 28,16 c -6.627417,0 -12,5.372583 -12,12 0,0.20181 0.0214,0.394383 0.03125,0.59375 C 20,20 22,22 28.65625,16.03125 28.436252,16.019242 28.222996,16 28,16 z"
+ style="fill:#08ff00;fill-opacity:1;stroke:none;filter:url(#filter3884)" />
+ <path
+ transform="matrix(1.487885,0,0,1.487885,-10.597031,-493.22036)"
+ style="fill:#14ff00;fill-opacity:1;stroke:none;filter:url(#filter3898)"
+ d="m 28,1004.3622 c -6.627417,0 -12,5.3726 -12,12 0,0.2018 0.0214,0.3944 0.03125,0.5937 3.96875,-8.5937 5.96875,-6.5937 12.625,-12.5625 -0.219998,-0.012 -0.433254,-0.031 -0.65625,-0.031 z"
+ id="path3888"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ssccs" />
+ <path
+ sodipodi:nodetypes="ssccs"
+ inkscape:connector-curvature="0"
+ id="path3902"
+ d="m 28,1004.3622 c -6.627417,0 -12,5.3726 -12,12 0,0.2018 0.0214,0.3944 0.03125,0.5937 3.96875,-8.5937 5.96875,-6.5937 12.625,-12.5625 -0.219998,-0.012 -0.433254,-0.031 -0.65625,-0.031 z"
+ style="fill:#56ff00;fill-opacity:1;stroke:none;filter:url(#filter3916)"
+ transform="matrix(-1.8359746,0,0,-1.8359746,81.432966,2885.3572)" />
+ <path
+ transform="matrix(-1.1914115,0,0,-1.1914115,69.087304,2235.4229)"
+ style="fill:#d7f4d7;fill-opacity:1;stroke:none;filter:url(#filter3916)"
+ d="m 28,1004.3622 c -6.627417,0 -12,5.3726 -12,12 0,0.2018 0.0214,0.3944 0.03125,0.5937 3.96875,-8.5937 5.96875,-6.5937 12.625,-12.5625 -0.219998,-0.012 -0.433254,-0.031 -0.65625,-0.031 z"
+ id="path3920"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ssccs" />
+ <path
+ sodipodi:nodetypes="csccsc"
+ inkscape:connector-curvature="0"
+ id="path3964"
+ d="m 28,1004.3622 c -6.627417,0 -12,5.3726 -12,12 0,0.2018 0.0214,0.3944 0.03125,0.5937 5.570868,-4.4816 8.905966,-4.4575 12.625,-12.5625 -0.219998,-0.012 -0.433254,-0.031 -0.65625,-0.031 z"
+ style="fill:#ffffff;fill-opacity:1;stroke:none;filter:url(#filter4110)"
+ transform="matrix(0.58516297,0,0,0.58516297,6.7391969,416.10681)" />
+ </g>
+ </g>
+</svg>
diff --git a/resources/sources/status-terrible.svg b/resources/sources/status-terrible.svg
new file mode 100644
index 00000000..b0de7bfd
--- /dev/null
+++ b/resources/sources/status-terrible.svg
@@ -0,0 +1,262 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="64"
+ height="64"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="status-terrible.svg"
+ inkscape:export-filename="/home/peterix/projects/MultiMC4/src/resources/insticons/enderpearl.png"
+ inkscape:export-xdpi="45"
+ inkscape:export-ydpi="45">
+ <defs
+ id="defs4">
+ <linearGradient
+ id="linearGradient4245">
+ <stop
+ id="stop4247"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ style="stop-color:#106810;stop-opacity:1"
+ offset="0.89412045"
+ id="stop4251" />
+ <stop
+ id="stop4249"
+ offset="1"
+ style="stop-color:#199c19;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4239">
+ <stop
+ id="stop4241"
+ offset="0"
+ style="stop-color:#510000;stop-opacity:1;" />
+ <stop
+ id="stop4243"
+ offset="1"
+ style="stop-color:#ee0000;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4030">
+ <stop
+ id="stop4032"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop4034"
+ offset="1"
+ style="stop-color:#0c493f;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3954">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop3956" />
+ <stop
+ style="stop-color:#199c19;stop-opacity:1;"
+ offset="1"
+ id="stop3958" />
+ </linearGradient>
+ <filter
+ inkscape:collect="always"
+ id="filter3884">
+ <feGaussianBlur
+ inkscape:collect="always"
+ stdDeviation="0.505"
+ id="feGaussianBlur3886" />
+ </filter>
+ <filter
+ inkscape:collect="always"
+ id="filter3898"
+ x="-0.20110182"
+ width="1.4022036"
+ y="-0.20210065"
+ height="1.4042013">
+ <feGaussianBlur
+ inkscape:collect="always"
+ stdDeviation="1.0604979"
+ id="feGaussianBlur3900" />
+ </filter>
+ <filter
+ inkscape:collect="always"
+ id="filter3916"
+ x="-0.11491533"
+ width="1.2298307"
+ y="-0.11548609"
+ height="1.2309722">
+ <feGaussianBlur
+ inkscape:collect="always"
+ stdDeviation="0.6059988"
+ id="feGaussianBlur3918" />
+ </filter>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4239"
+ id="radialGradient4024"
+ gradientUnits="userSpaceOnUse"
+ cx="37.15184"
+ cy="33.513309"
+ fx="37.15184"
+ fy="33.513309"
+ r="20"
+ gradientTransform="matrix(-1.2888095,0.63917683,-0.44430494,-0.89587535,99.563439,45.881313)" />
+ <filter
+ inkscape:collect="always"
+ id="filter4110"
+ x="-0.17716113"
+ width="1.3543223"
+ y="-0.17804105"
+ height="1.3560821">
+ <feGaussianBlur
+ inkscape:collect="always"
+ stdDeviation="0.93424815"
+ id="feGaussianBlur4112" />
+ </filter>
+ <linearGradient
+ id="linearGradient3954-9">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop3956-4" />
+ <stop
+ style="stop-color:#0f5f52;stop-opacity:1;"
+ offset="1"
+ id="stop3958-2" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3954"
+ id="radialGradient4230"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1486906,1.2798015,-0.74419869,0.66795831,19.056258,-30.328315)"
+ cx="32"
+ cy="32"
+ fx="32"
+ fy="32"
+ r="20" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3954"
+ id="radialGradient4250"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1486906,1.2798015,-0.74419869,0.66795831,19.056258,-30.328315)"
+ cx="32"
+ cy="32"
+ fx="32"
+ fy="32"
+ r="20" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.5"
+ inkscape:cx="-732.84524"
+ inkscape:cy="332.3527"
+ inkscape:document-units="px"
+ inkscape:current-layer="g4116"
+ showgrid="false"
+ showguides="true"
+ inkscape:guide-bbox="true"
+ inkscape:window-width="1612"
+ inkscape:window-height="1026"
+ inkscape:window-x="1677"
+ inkscape:window-y="-4"
+ inkscape:window-maximized="1"
+ inkscape:snap-global="true"
+ inkscape:snap-bbox="true">
+ <inkscape:grid
+ type="xygrid"
+ id="grid2985"
+ empspacing="2"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true" />
+ <sodipodi:guide
+ orientation="0,1"
+ position="11.25,96.5"
+ id="guide4252" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-988.36218)">
+ <g
+ id="g4116"
+ transform="matrix(1.3594572,0,0,1.3553409,-10.875658,-362.67325)">
+ <path
+ transform="matrix(1.1769403,0,0,1.1769403,-6.1232836,982.70009)"
+ d="M 52,32 C 52,43.045695 43.045695,52 32,52 20.954305,52 12,43.045695 12,32 12,20.954305 20.954305,12 32,12 c 11.045695,0 20,8.954305 20,20 z"
+ sodipodi:ry="20"
+ sodipodi:rx="20"
+ sodipodi:cy="32"
+ sodipodi:cx="32"
+ id="path3014"
+ style="fill:url(#radialGradient4024);fill-opacity:1;stroke:none"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:nodetypes="ssccs"
+ inkscape:connector-curvature="0"
+ id="path3866"
+ transform="matrix(1.1769403,0,0,1.1769403,-5.6620909,982.68843)"
+ d="m 28,16 c -6.627417,0 -12,5.372583 -12,12 0,0.20181 0.0214,0.394383 0.03125,0.59375 C 20,20 22,22 28.65625,16.03125 28.436252,16.019242 28.222996,16 28,16 z"
+ style="fill:#ff8f8f;fill-opacity:1;stroke:none;filter:url(#filter3884)" />
+ <path
+ transform="matrix(1.487885,0,0,1.487885,-10.597031,-493.22036)"
+ style="fill:#ff7878;fill-opacity:1;stroke:none;filter:url(#filter3898)"
+ d="m 28,1004.3622 c -6.627417,0 -12,5.3726 -12,12 0,0.2018 0.0214,0.3944 0.03125,0.5937 3.96875,-8.5937 5.96875,-6.5937 12.625,-12.5625 -0.219998,-0.012 -0.433254,-0.031 -0.65625,-0.031 z"
+ id="path3888"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ssccs" />
+ <path
+ sodipodi:nodetypes="ssccs"
+ inkscape:connector-curvature="0"
+ id="path3902"
+ d="m 28,1004.3622 c -6.627417,0 -12,5.3726 -12,12 0,0.2018 0.0214,0.3944 0.03125,0.5937 3.96875,-8.5937 5.96875,-6.5937 12.625,-12.5625 -0.219998,-0.012 -0.433254,-0.031 -0.65625,-0.031 z"
+ style="fill:#ff5252;fill-opacity:1;stroke:none;filter:url(#filter3916)"
+ transform="matrix(-1.8359746,0,0,-1.8359746,81.432966,2885.3572)" />
+ <path
+ transform="matrix(-1.1914115,0,0,-1.1914115,69.087304,2235.4229)"
+ style="fill:#ffffff;fill-opacity:1;stroke:none;filter:url(#filter3916);opacity:0.75187970000000004"
+ d="m 28,1004.3622 c -6.627417,0 -12,5.3726 -12,12 0,0.2018 0.0214,0.3944 0.03125,0.5937 3.96875,-8.5937 5.96875,-6.5937 12.625,-12.5625 -0.219998,-0.012 -0.433254,-0.031 -0.65625,-0.031 z"
+ id="path3920"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ssccs" />
+ <path
+ sodipodi:nodetypes="csccsc"
+ inkscape:connector-curvature="0"
+ id="path3964"
+ d="m 28,1004.3622 c -6.627417,0 -12,5.3726 -12,12 0,0.2018 0.0214,0.3944 0.03125,0.5937 5.570868,-4.4816 8.905966,-4.4575 12.625,-12.5625 -0.219998,-0.012 -0.433254,-0.031 -0.65625,-0.031 z"
+ style="fill:#ffffff;fill-opacity:1;stroke:none;filter:url(#filter4110);opacity:0.69924812"
+ transform="matrix(0.58516297,0,0,0.58516297,6.7391969,416.10681)" />
+ </g>
+ </g>
+</svg>
diff --git a/resources/icons/instances_svg/steve.svg b/resources/sources/steve.svg
index 2233272c..2233272c 100644
--- a/resources/icons/instances_svg/steve.svg
+++ b/resources/sources/steve.svg