Added new setting for the position and the margin of the toaster.

Cleaned translation of the toaster GUI.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3906 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
thunder2 2010-12-10 21:49:38 +00:00
parent 4b16ffcc83
commit 3ecb987a4e
11 changed files with 497 additions and 352 deletions

View File

@ -52,10 +52,6 @@
* #define NOTIFY_DEBUG * #define NOTIFY_DEBUG
****/ ****/
#define TOASTER_MARGIN_X 10 // 10 pixels of x margin
#define TOASTER_MARGIN_Y 10 // 10 pixels of y margin
class Toaster class Toaster
{ {
public: public:
@ -596,12 +592,28 @@ void NotifyQt::startWaitingToasters()
QDesktopWidget *desktop = QApplication::desktop(); QDesktopWidget *desktop = QApplication::desktop();
QRect desktopGeometry = desktop->availableGeometry(desktop->primaryScreen()); QRect desktopGeometry = desktop->availableGeometry(desktop->primaryScreen());
/* From bottom */ RshareSettings::enumToasterPosition position = Settings->getToasterPosition();
toaster->startPos = QPoint(desktopGeometry.right() - size.width() - TOASTER_MARGIN_X, desktopGeometry.bottom()); QPoint margin = Settings->getToasterMargin();
toaster->endPos = QPoint(toaster->startPos.x(), desktopGeometry.bottom() - size.height() - TOASTER_MARGIN_Y);
/* From top */ switch (position) {
// toaster->startPos = QPoint(desktopGeometry.right() - size.width() - TOASTER_MARGIN_X, desktopGeometry.top() - size.height()); case RshareSettings::TOASTERPOS_TOPLEFT:
// toaster->endPos = QPoint(toaster->startPos.x(), desktopGeometry.top() + TOASTER_MARGIN_Y); toaster->startPos = QPoint(desktopGeometry.left() + margin.x(), desktopGeometry.top() - size.height());
toaster->endPos = QPoint(toaster->startPos.x(), desktopGeometry.top() + margin.y());
break;
case RshareSettings::TOASTERPOS_TOPRIGHT:
toaster->startPos = QPoint(desktopGeometry.right() - size.width() - margin.x(), desktopGeometry.top() - size.height());
toaster->endPos = QPoint(toaster->startPos.x(), desktopGeometry.top() + margin.y());
break;
case RshareSettings::TOASTERPOS_BOTTOMLEFT:
toaster->startPos = QPoint(desktopGeometry.left() + margin.x(), desktopGeometry.bottom());
toaster->endPos = QPoint(toaster->startPos.x(), desktopGeometry.bottom() - size.height() - margin.y());
break;
case RshareSettings::TOASTERPOS_BOTTOMRIGHT: // default
default:
toaster->startPos = QPoint(desktopGeometry.right() - size.width() - margin.x(), desktopGeometry.bottom());
toaster->endPos = QPoint(toaster->startPos.x(), desktopGeometry.bottom() - size.height() - margin.y());
break;
}
/* Initialize widget */ /* Initialize widget */
toaster->widget->move(toaster->startPos); toaster->widget->move(toaster->startPos);
@ -681,8 +693,12 @@ void NotifyQt::runningTick()
toaster->widget->move(newPos + diff); toaster->widget->move(newPos + diff);
diff += newPos - toaster->startPos; diff += newPos - toaster->startPos;
/* This is only correct when moving the toaster from bottom */ QRect mask = QRect(0, 0, toaster->widget->width(), qAbs(toaster->startPos.y() - newPos.y()));
toaster->widget->setMask(QRegion(0, 0, toaster->widget->width(), qAbs(toaster->startPos.y() - newPos.y()))); if (newPos.y() > toaster->startPos.y()) {
/* Toaster is moving from top */
mask.moveTop(toaster->widget->height() - (newPos.y() - toaster->startPos.y()));
}
toaster->widget->setMask(QRegion(mask));
switch (operation) { switch (operation) {
case NOTHING: case NOTHING:

View File

@ -118,6 +118,13 @@ NotifyPage::save(QString &errmsg)
Settings->setAddFeedsAtEnd(ui.addFeedsAtEnd->isChecked()); Settings->setAddFeedsAtEnd(ui.addFeedsAtEnd->isChecked());
int index = ui.comboBoxToasterPosition->currentIndex();
if (index != -1) {
Settings->setToasterPosition((RshareSettings::enumToasterPosition) ui.comboBoxToasterPosition->itemData(index).toInt());
}
Settings->setToasterMargin(QPoint(ui.spinBoxToasterXMargin->value(), ui.spinBoxToasterYMargin->value()));
load(); load();
return true; return true;
} }
@ -158,8 +165,30 @@ void NotifyPage::load()
ui.trayNotify_CombinedIcon->setChecked(traynotifyflags & TRAYNOTIFY_COMBINEDICON); ui.trayNotify_CombinedIcon->setChecked(traynotifyflags & TRAYNOTIFY_COMBINEDICON);
ui.addFeedsAtEnd->setChecked(Settings->getAddFeedsAtEnd()); ui.addFeedsAtEnd->setChecked(Settings->getAddFeedsAtEnd());
}
RshareSettings::enumToasterPosition toasterPosition = Settings->getToasterPosition();
ui.comboBoxToasterPosition->clear();
QMap<int, QString> toasterPositions;
toasterPositions[RshareSettings::TOASTERPOS_TOPLEFT] = tr("Top Left");
toasterPositions[RshareSettings::TOASTERPOS_TOPRIGHT] = tr("Top Right");
toasterPositions[RshareSettings::TOASTERPOS_BOTTOMLEFT] = tr("Bottom Left");
toasterPositions[RshareSettings::TOASTERPOS_BOTTOMRIGHT] = tr("Bottom Right");
QMap<int, QString>::iterator it;
int index = 0;
for (it = toasterPositions.begin(); it != toasterPositions.end(); it++, index++) {
ui.comboBoxToasterPosition->addItem(it.value(), it.key());
if (it.key() == toasterPosition) {
ui.comboBoxToasterPosition->setCurrentIndex(index);
}
}
QPoint margin = Settings->getToasterMargin();
ui.spinBoxToasterXMargin->setValue(margin.x());
ui.spinBoxToasterYMargin->setValue(margin.y());
}
/** Loads the settings for this page */ /** Loads the settings for this page */
void NotifyPage::updateStatus() void NotifyPage::updateStatus()

View File

@ -683,6 +683,85 @@
</property> </property>
</widget> </widget>
</item> </item>
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="1" column="0">
<widget class="QLabel" name="labelToasterPosition">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Position</string>
</property>
</widget>
</item>
<item row="1" column="1" colspan="3">
<widget class="QComboBox" name="comboBoxToasterPosition">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="labelToasterXMargin">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>X Margin</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QSpinBox" name="spinBoxToasterXMargin">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximum">
<number>20</number>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QLabel" name="labelToasterYMargin">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Y Margin</string>
</property>
</widget>
</item>
<item row="2" column="3">
<widget class="QSpinBox" name="spinBoxToasterYMargin">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximum">
<number>20</number>
</property>
</widget>
</item>
</layout>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>

View File

@ -331,6 +331,26 @@ bool RshareSettings::getChatSendMessageWithCtrlReturn()
return valueFromGroup("Chat", "SendMessageWithCtrlReturn", false).toBool(); return valueFromGroup("Chat", "SendMessageWithCtrlReturn", false).toBool();
} }
RshareSettings::enumToasterPosition RshareSettings::getToasterPosition()
{
return (enumToasterPosition) value("ToasterPosition", TOASTERPOS_BOTTOMRIGHT).toInt();
}
void RshareSettings::setToasterPosition(enumToasterPosition position)
{
setValue("ToasterPosition", position);
}
QPoint RshareSettings::getToasterMargin()
{
return value("ToasterMargin", QPoint(10, 10)).toPoint();
}
void RshareSettings::setToasterMargin(QPoint margin)
{
setValue("ToasterMargin", margin);
}
void RshareSettings::setChatSendMessageWithCtrlReturn(bool bValue) void RshareSettings::setChatSendMessageWithCtrlReturn(bool bValue)
{ {
setValueToGroup("Chat", "SendMessageWithCtrlReturn", bValue); setValueToGroup("Chat", "SendMessageWithCtrlReturn", bValue);

View File

@ -66,6 +66,14 @@ public:
LASTDIR_BLOGS LASTDIR_BLOGS
}; };
enum enumToasterPosition
{
TOASTERPOS_TOPLEFT,
TOASTERPOS_TOPRIGHT,
TOASTERPOS_BOTTOMLEFT,
TOASTERPOS_BOTTOMRIGHT
};
public: public:
/* create settings object */ /* create settings object */
static void Create (); static void Create ();
@ -141,6 +149,12 @@ public:
bool getChatSendMessageWithCtrlReturn(); bool getChatSendMessageWithCtrlReturn();
void setChatSendMessageWithCtrlReturn(bool bValue); void setChatSendMessageWithCtrlReturn(bool bValue);
enumToasterPosition getToasterPosition();
void setToasterPosition(enumToasterPosition position);
QPoint getToasterMargin();
void setToasterMargin(QPoint margin);
/* chat font */ /* chat font */
QString getChatScreenFont(); QString getChatScreenFont();
void setChatScreenFont(const QString &font); void setChatScreenFont(const QString &font);

View File

@ -10,21 +10,6 @@
<height>100</height> <height>100</height>
</rect> </rect>
</property> </property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="windowTitle">
<string/>
</property>
<widget class="QLabel" name="labelTitle"> <widget class="QLabel" name="labelTitle">
<property name="geometry"> <property name="geometry">
<rect> <rect>
@ -195,7 +180,7 @@
<bool>true</bool> <bool>true</bool>
</property> </property>
</widget> </widget>
<widget class="QLabel" name="label_2"> <widget class="QLabel" name="background">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>0</x> <x>0</x>
@ -204,14 +189,11 @@
<height>100</height> <height>100</height>
</rect> </rect>
</property> </property>
<property name="text">
<string/>
</property>
<property name="pixmap"> <property name="pixmap">
<pixmap resource="../images.qrc">:/images/toaster/backgroundtoaster.png</pixmap> <pixmap resource="../images.qrc">:/images/toaster/backgroundtoaster.png</pixmap>
</property> </property>
</widget> </widget>
<zorder>label_2</zorder> <zorder>background</zorder>
<zorder>labelTitle</zorder> <zorder>labelTitle</zorder>
<zorder>startButton</zorder> <zorder>startButton</zorder>
<zorder>lblTitle</zorder> <zorder>lblTitle</zorder>
@ -224,9 +206,6 @@
</tabstops> </tabstops>
<resources> <resources>
<include location="../images.qrc"/> <include location="../images.qrc"/>
<include location="../images.qrc"/>
<include location="../images.qrc"/>
<include location="../images.qrc"/>
</resources> </resources>
<connections/> <connections/>
</ui> </ui>

View File

@ -10,27 +10,6 @@
<height>100</height> <height>100</height>
</rect> </rect>
</property> </property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="windowTitle">
<string/>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<widget class="QLabel" name="namelabel"> <widget class="QLabel" name="namelabel">
<property name="geometry"> <property name="geometry">
<rect> <rect>
@ -44,7 +23,7 @@
<string/> <string/>
</property> </property>
</widget> </widget>
<widget class="QLabel" name="label_2"> <widget class="QLabel" name="background">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>0</x> <x>0</x>
@ -53,9 +32,6 @@
<height>100</height> <height>100</height>
</rect> </rect>
</property> </property>
<property name="text">
<string/>
</property>
<property name="pixmap"> <property name="pixmap">
<pixmap resource="../images.qrc">:/images/toaster/backgroundtoaster.png</pixmap> <pixmap resource="../images.qrc">:/images/toaster/backgroundtoaster.png</pixmap>
</property> </property>
@ -219,11 +195,6 @@ color: black;</string>
</tabstops> </tabstops>
<resources> <resources>
<include location="../images.qrc"/> <include location="../images.qrc"/>
<include location="../images.qrc"/>
<include location="../images.qrc"/>
<include location="../images.qrc"/>
<include location="../images.qrc"/>
<include location="../images.qrc"/>
</resources> </resources>
<connections/> <connections/>
</ui> </ui>

View File

@ -39,8 +39,7 @@ OnlineToaster::OnlineToaster(const std::string &peerId, const QString &name, con
ui.messageLabel->setText(name); ui.messageLabel->setText(name);
ui.pixmaplabel->setPixmap(avatar); ui.pixmaplabel->setPixmap(avatar);
WidgetBackgroundImage::setBackgroundImage(ui.windowFrame, ":images/toaster/backgroundtoaster.png", WidgetBackgroundImage::AdjustSize); WidgetBackgroundImage::setBackgroundImage(ui.windowFrame, ":images/toaster/backgroundtoaster.png", WidgetBackgroundImage::AdjustNone);
resize(300, 100);
play(); play();
} }

View File

@ -129,7 +129,7 @@
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>RetroShare</string> <string notr="true">RetroShare</string>
</property> </property>
</widget> </widget>
</item> </item>
@ -247,7 +247,6 @@ border-radius: 4px;}
</tabstops> </tabstops>
<resources> <resources>
<include location="../images.qrc"/> <include location="../images.qrc"/>
<include location="../images.qrc"/>
</resources> </resources>
<connections/> <connections/>
</ui> </ui>

View File

@ -760,9 +760,8 @@ p, li { white-space: pre-wrap; }
<context> <context>
<name>CallToaster</name> <name>CallToaster</name>
<message> <message>
<location filename="../gui/toaster/CallToaster.ui" line="+656"/>
<source>Message</source> <source>Message</source>
<translation>Nachricht</translation> <translation type="obsolete">Nachricht</translation>
</message> </message>
</context> </context>
<context> <context>
@ -2909,7 +2908,7 @@ Das ist nützlich, wenn Du eine externe Festplatte freigibst und die Datei nicht
<translation type="obsolete">Spiele das heruntergeladene Video ab</translation> <translation type="obsolete">Spiele das heruntergeladene Video ab</translation>
</message> </message>
<message> <message>
<location filename="../gui/toaster/DownloadToaster.ui" line="+121"/> <location filename="../gui/toaster/DownloadToaster.ui" line="+106"/>
<source>Start file</source> <source>Start file</source>
<translation>Starte Datei</translation> <translation>Starte Datei</translation>
</message> </message>
@ -2919,7 +2918,7 @@ Das ist nützlich, wenn Du eine externe Festplatte freigibst und die Datei nicht
<translation>&lt;b&gt;Download fertig&lt;/b&gt;</translation> <translation>&lt;b&gt;Download fertig&lt;/b&gt;</translation>
</message> </message>
<message> <message>
<location line="+32"/> <location line="+35"/>
<source>Close</source> <source>Close</source>
<translation>Schliessen</translation> <translation>Schliessen</translation>
</message> </message>
@ -2932,9 +2931,8 @@ Das ist nützlich, wenn Du eine externe Festplatte freigibst und die Datei nicht
<translation type="obsolete">Datei abspielen</translation> <translation type="obsolete">Datei abspielen</translation>
</message> </message>
<message> <message>
<location filename="../gui/toaster/DownloadToaster.cpp" line="+127"/>
<source>File %1 does not exist at location.</source> <source>File %1 does not exist at location.</source>
<translation>Datei %1 existiert nicht.</translation> <translation type="obsolete">Datei %1 existiert nicht.</translation>
</message> </message>
</context> </context>
<context> <context>
@ -5972,22 +5970,19 @@ Willst Du die Nachricht speichern ?</translation>
<context> <context>
<name>MessageToaster</name> <name>MessageToaster</name>
<message> <message>
<location filename="../gui/toaster/MessageToaster.ui" line="+152"/>
<source>Play video</source> <source>Play video</source>
<translation>Video abspielen</translation> <translation type="obsolete">Video abspielen</translation>
</message> </message>
<message> <message>
<location line="+6"/>
<source>Play button</source> <source>Play button</source>
<translation>Abspielen Knopf</translation> <translation type="obsolete">Abspielen Knopf</translation>
</message> </message>
<message> <message>
<location line="+3"/>
<source>Play the downloaded video</source> <source>Play the downloaded video</source>
<translation>Spiele das heruntergeladene Video ab</translation> <translation type="obsolete">Spiele das heruntergeladene Video ab</translation>
</message> </message>
<message> <message>
<location line="+32"/> <location filename="../gui/toaster/MessageToaster.ui" line="+81"/>
<source>&lt;b&gt;1 new Message from&lt;/b&gt;</source> <source>&lt;b&gt;1 new Message from&lt;/b&gt;</source>
<translation>&lt;b&gt;1 neue Nachricht von&lt;/b&gt;</translation> <translation>&lt;b&gt;1 neue Nachricht von&lt;/b&gt;</translation>
</message> </message>
@ -5997,10 +5992,15 @@ Willst Du die Nachricht speichern ?</translation>
<translation>Schliessen</translation> <translation>Schliessen</translation>
</message> </message>
<message> <message>
<location line="-125"/> <location line="+73"/>
<source>Subject</source> <source>Subject</source>
<translation>Betreff</translation> <translation>Betreff</translation>
</message> </message>
<message>
<location filename="../gui/toaster/MessageToaster.cpp" line="+34"/>
<source>Sub:</source>
<translation>Betreff:</translation>
</message>
</context> </context>
<context> <context>
<name>MessagesDialog</name> <name>MessagesDialog</name>
@ -7063,7 +7063,22 @@ p, li { white-space: pre-wrap; }
<translation>Neue Nachricht</translation> <translation>Neue Nachricht</translation>
</message> </message>
<message> <message>
<location line="+17"/> <location line="+22"/>
<source>Position</source>
<translation>Position</translation>
</message>
<message>
<location line="+23"/>
<source>X Margin</source>
<translation>Abstand X</translation>
</message>
<message>
<location line="+26"/>
<source>Y Margin</source>
<translation>Abstand Y</translation>
</message>
<message>
<location line="+25"/>
<source>Private Chat</source> <source>Private Chat</source>
<translation>Privater Chat</translation> <translation>Privater Chat</translation>
</message> </message>
@ -7093,15 +7108,35 @@ p, li { white-space: pre-wrap; }
<translation>Zeige Systemabschnitts-Nachricht an</translation> <translation>Zeige Systemabschnitts-Nachricht an</translation>
</message> </message>
<message> <message>
<location line="-157"/> <location line="-236"/>
<source>Add feeds at end</source> <source>Add feeds at end</source>
<translation>Feeds am Ende anfügen</translation> <translation>Feeds am Ende anfügen</translation>
</message> </message>
<message>
<location filename="../gui/settings/NotifyPage.cpp" line="+173"/>
<source>Top Left</source>
<translation>Oben Links</translation>
</message>
<message>
<location line="+1"/>
<source>Top Right</source>
<translation>Oben Rechts</translation>
</message>
<message>
<location line="+1"/>
<source>Bottom Left</source>
<translation>Unten Links</translation>
</message>
<message>
<location line="+1"/>
<source>Bottom Right</source>
<translation>Unten Rechts</translation>
</message>
</context> </context>
<context> <context>
<name>NotifyQt</name> <name>NotifyQt</name>
<message> <message>
<location filename="../gui/notifyqt.cpp" line="+67"/> <location filename="../gui/notifyqt.cpp" line="+131"/>
<source>GPG key passphrase</source> <source>GPG key passphrase</source>
<translation>GPG Schlüssel Passwort</translation> <translation>GPG Schlüssel Passwort</translation>
</message> </message>
@ -7134,9 +7169,13 @@ p, li { white-space: pre-wrap; }
<context> <context>
<name>OnlineToaster</name> <name>OnlineToaster</name>
<message> <message>
<location filename="../gui/toaster/OnlineToaster.ui" line="+160"/> <source>RetroShare</source>
<translation type="obsolete">RetroShare</translation>
</message>
<message>
<location filename="../gui/toaster/OnlineToaster.ui" line="+208"/>
<source>Friend Online</source> <source>Friend Online</source>
<translation type="unfinished">Freund Online</translation> <translation>Freund Online</translation>
</message> </message>
</context> </context>
<context> <context>
@ -9346,7 +9385,7 @@ p, li { white-space: pre-wrap; }
<translation>Ordner</translation> <translation>Ordner</translation>
</message> </message>
<message> <message>
<location line="+456"/> <location line="+457"/>
<source>New RetroShare Link(s)</source> <source>New RetroShare Link(s)</source>
<translation>Neu(e) RetroShare Link(s)</translation> <translation>Neu(e) RetroShare Link(s)</translation>
</message> </message>
@ -9396,7 +9435,7 @@ p, li { white-space: pre-wrap; }
<translation>Such ID</translation> <translation>Such ID</translation>
</message> </message>
<message> <message>
<location filename="../gui/SearchDialog.cpp" line="-914"/> <location filename="../gui/SearchDialog.cpp" line="-915"/>
<source>Download Notice</source> <source>Download Notice</source>
<translation>Download</translation> <translation>Download</translation>
</message> </message>
@ -11141,7 +11180,7 @@ p, li { white-space: pre-wrap; }
<translation>Blockstrategie</translation> <translation>Blockstrategie</translation>
</message> </message>
<message> <message>
<location line="+396"/> <location line="+397"/>
<source>Queued</source> <source>Queued</source>
<translation>In Warteschleife</translation> <translation>In Warteschleife</translation>
</message> </message>
@ -11181,7 +11220,7 @@ p, li { white-space: pre-wrap; }
<translation>Soll dieser Download wirklich abgebrochen und gelöscht werden?</translation> <translation>Soll dieser Download wirklich abgebrochen und gelöscht werden?</translation>
</message> </message>
<message> <message>
<location line="-900"/> <location line="-901"/>
<source>Speed / Queue position</source> <source>Speed / Queue position</source>
<translation>Geschwindigkeits- / Warteschlangenposition</translation> <translation>Geschwindigkeits- / Warteschlangenposition</translation>
</message> </message>
@ -11219,30 +11258,30 @@ p, li { white-space: pre-wrap; }
</message> </message>
<message> <message>
<location line="+12"/> <location line="+12"/>
<location line="+530"/> <location line="+531"/>
<source>Slower</source> <source>Slower</source>
<translation>Langsamer</translation> <translation>Langsamer</translation>
</message> </message>
<message> <message>
<location line="-528"/> <location line="-529"/>
<location line="+529"/> <location line="+530"/>
<location line="+2"/> <location line="+2"/>
<source>Average</source> <source>Average</source>
<translation>Durchschnitt</translation> <translation>Durchschnitt</translation>
</message> </message>
<message> <message>
<location line="-529"/> <location line="-530"/>
<location line="+528"/> <location line="+529"/>
<source>Faster</source> <source>Faster</source>
<translation>Schneller</translation> <translation>Schneller</translation>
</message> </message>
<message> <message>
<location line="-424"/> <location line="-425"/>
<source>Move in Queue...</source> <source>Move in Queue...</source>
<translation>Verschiebe in Warteschlange...</translation> <translation>Verschiebe in Warteschlange...</translation>
</message> </message>
<message> <message>
<location line="+259"/> <location line="+260"/>
<location line="+145"/> <location line="+145"/>
<location line="+129"/> <location line="+129"/>
<source>Failed</source> <source>Failed</source>
@ -11295,7 +11334,7 @@ p, li { white-space: pre-wrap; }
<translation>Überprüfe...</translation> <translation>Überprüfe...</translation>
</message> </message>
<message> <message>
<location line="-555"/> <location line="-556"/>
<source>Force Check</source> <source>Force Check</source>
<translation>Erzwinge Überprüfung</translation> <translation>Erzwinge Überprüfung</translation>
</message> </message>