diff --git a/sources/awesome-widget/package/contents/config/main.xml b/sources/awesome-widget/package/contents/config/main.xml index 70c645b..127a5e0 100644 --- a/sources/awesome-widget/package/contents/config/main.xml +++ b/sources/awesome-widget/package/contents/config/main.xml @@ -47,6 +47,9 @@ true + + true + diff --git a/sources/awesome-widget/package/contents/ui/advanced.qml b/sources/awesome-widget/package/contents/ui/advanced.qml index 4c4e7ce..a2b46a9 100644 --- a/sources/awesome-widget/package/contents/ui/advanced.qml +++ b/sources/awesome-widget/package/contents/ui/advanced.qml @@ -45,6 +45,8 @@ Item { property string cfg_tempUnits: tempUnits.currentText property alias cfg_acOnline: acOnline.text property alias cfg_acOffline: acOffline.text + property alias cfg_checkUpdates: updates.checked + property alias cfg_translateStrings: translate.checked Column { @@ -255,6 +257,34 @@ Item { } } + Row { + height: implicitHeight + width: parent.width + QtControls.Label { + height: parent.heigth + width: parent.width * 2 / 5 + } + QtControls.CheckBox { + id: updates + width: parent.width * 3 / 5 + text: i18n("Check updates on startup") + } + } + + Row { + height: implicitHeight + width: parent.width + QtControls.Label { + height: parent.heigth + width: parent.width * 2 / 5 + } + QtControls.CheckBox { + id: translate + width: parent.width * 3 / 5 + text: i18n("Translate strings") + } + } + Row { height: implicitHeight width: parent.width diff --git a/sources/awesome-widget/package/contents/ui/main.qml b/sources/awesome-widget/package/contents/ui/main.qml index 2c116ae..4ee70f0 100644 --- a/sources/awesome-widget/package/contents/ui/main.qml +++ b/sources/awesome-widget/package/contents/ui/main.qml @@ -178,6 +178,8 @@ Item { awKeys.dropSourceFromDataengine.connect(dropSource) awKeys.needTextToBeUpdated.connect(needTextUpdate) awKeys.needToolTipToBeUpdated.connect(needToolTipUpdate) + // check updates if required + if (plasmoid.configuration.checkUpdates) return action_checkUpdates() } onDropSource: { @@ -227,6 +229,7 @@ Item { awKeys.initKeys(plasmoid.configuration.text) awKeys.initTooltip(tooltipSettings) awKeys.setPopupEnabled(plasmoid.configuration.notify) + awKeys.setTranslateStrings(plasmoid.configuration.translateStrings) awKeys.setWrapNewLines(plasmoid.configuration.wrapNewLines) needTextUpdate(plasmoid.configuration.text) @@ -235,24 +238,24 @@ Item { function action_checkUpdates() { if (debug) console.log("[main::action_checkUpdates]") - awActions.checkUpdates() + return awActions.checkUpdates() } function action_showReadme() { if (debug) console.log("[main::action_showReadme]") - awActions.showReadme() + return awActions.showReadme() } function action_report() { if (debug) console.log("[main::action_report]") - awActions.sendEmail() + return awActions.sendEmail() } function action_requestKey() { if (debug) console.log("[main::action_requestKey]") - awKeys.graphicalValueByKey() + return awKeys.graphicalValueByKey() } } diff --git a/sources/awesome-widget/plugin/awkeys.cpp b/sources/awesome-widget/plugin/awkeys.cpp index 9d6e2b6..e134870 100644 --- a/sources/awesome-widget/plugin/awkeys.cpp +++ b/sources/awesome-widget/plugin/awkeys.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -116,6 +117,14 @@ void AWKeys::setPopupEnabled(const bool popup) } +void AWKeys::setTranslateStrings(const bool translate) +{ + if (debug) qDebug() << PDEBUG; + + translateStrings = translate; +} + + void AWKeys::setWrapNewLines(const bool wrap) { if (debug) qDebug() << PDEBUG; @@ -247,12 +256,16 @@ QStringList AWKeys::dictKeys(const bool sorted) const for (int i=networkDevices.count()-1; i>=0; i--) { allKeys.append(QString("downunits%1").arg(i)); allKeys.append(QString("upunits%1").arg(i)); + allKeys.append(QString("downkb%1").arg(i)); allKeys.append(QString("down%1").arg(i)); + allKeys.append(QString("upkb%1").arg(i)); allKeys.append(QString("up%1").arg(i)); } allKeys.append(QString("downunits")); allKeys.append(QString("upunits")); + allKeys.append(QString("downkb")); allKeys.append(QString("down")); + allKeys.append(QString("upkb")); allKeys.append(QString("up")); allKeys.append(QString("netdev")); // battery @@ -363,8 +376,7 @@ void AWKeys::setDataBySource(const QString sourceName, const QVariantMap data, QRegExp mountFillRegExp = QRegExp(QString("partitions/.*/filllevel")); QRegExp mountFreeRegExp = QRegExp(QString("partitions/.*/freespace")); QRegExp mountUsedRegExp = QRegExp(QString("partitions/.*/usedspace")); - QRegExp netRecRegExp = QRegExp(QString("network/interfaces/.*/receiver/data")); - QRegExp netTransRegExp = QRegExp(QString("network/interfaces/.*/transmitter/data")); + QRegExp netRegExp = QRegExp(QString("network/interfaces/.*/(receiver|transmitter)/data$")); QRegExp tempRegExp = QRegExp(QString("lmsensors/.*")); if (sourceName == QString("battery")) { @@ -532,55 +544,34 @@ void AWKeys::setDataBySource(const QString sourceName, const QVariantMap data, enablePopup); // value values[QString("netdev")] = data[QString("value")].toString(); - } else if (sourceName.contains(netRecRegExp)) { - // download speed - QString device = sourceName; + } else if (sourceName.contains(netRegExp)) { + // network speed + QString type = sourceName.contains(QString("receiver")) ? QString("down") : QString("up"); + // device name + QString device = sourceName.split(QChar('/'))[2]; + // values float value = data[QString("value")].toFloat(); - device.remove(QString("network/interfaces/")).remove(QString("/receiver/data")); + QString simplifiedValue = value > 1000.0 ? + QString("%1").arg(value / 1024.0, 4, 'f', 1) : + QString("%1").arg(value, 4, 'f', 0); + // units + QString units; + if (translateStrings) + units = value > 1000.0 ? i18n("MB/s") : i18n("KB/s"); + else + units = value > 1000.0 ? QString("MB/s") : QString("KB/s"); + // update for (int i=0; i 1000.0) { - values[QString("down%1").arg(i)] = QString("%1").arg(value / 1024.0, 4, 'f', 1); - values[QString("downunits%1").arg(i)] = i18n("MB/s"); - } else { - values[QString("down%1").arg(i)] = QString("%1").arg(value, 4, 'f', 0); - values[QString("downunits%1").arg(i)] = i18n("KB/s"); - } + values[QString("%1kb%2").arg(type).arg(i)] = QString("%1").arg(value, 4, 'f', 0); + values[QString("%1%2").arg(type).arg(i)] = simplifiedValue; + values[QString("%1units%2").arg(type).arg(i)] = units; break; } if (device == values[QString("netdev")]) { - if (value > 1000.0) { - values[QString("down")] = QString("%1").arg(value / 1024.0, 4, 'f', 1); - values[QString("downunits")] = i18n("MB/s"); - } else { - values[QString("down")] = QString("%1").arg(value, 4, 'f', 0); - values[QString("downunits")] = i18n("KB/s"); - } - } - } else if (sourceName.contains(netTransRegExp)) { - // upload speed - QString device = sourceName; - float value = data[QString("value")].toFloat(); - device.remove(QString("network/interfaces/")).remove(QString("/transmitter/data")); - for (int i=0; i 1000.0) { - values[QString("up%1").arg(i)] = QString("%1").arg(data[QString("value")].toFloat() / 1024.0, 4, 'f', 1); - values[QString("upunits%1").arg(i)] = i18n("MB/s"); - } else { - values[QString("up%1").arg(i)] = QString("%1").arg(data[QString("value")].toFloat(), 4, 'f', 0); - values[QString("upunits%1").arg(i)] = i18n("KB/s"); - } - break; - } - if (device == values[QString("netdev")]) { - if (value > 1000.0) { - values[QString("up")] = QString("%1").arg(value / 1024.0, 4, 'f', 1); - values[QString("upunits")] = i18n("MB/s"); - } else { - values[QString("up")] = QString("%1").arg(value, 4, 'f', 0); - values[QString("upunits")] = i18n("KB/s"); - } + values[QString("%1kb").arg(type)] = QString("%1").arg(value, 4, 'f', 0); + values[type] = simplifiedValue; + values[QString("%1units").arg(type)] = units; } } else if (sourceName == QString("pkg")) { // package manager @@ -631,15 +622,17 @@ void AWKeys::setDataBySource(const QString sourceName, const QVariantMap data, break; } } else if (sourceName == QString("Local")) { + // init locale + QLocale loc = translateStrings ? QLocale::system() : QLocale::c(); + QDateTime dt = data[QString("DateTime")].toDateTime(); // time - values[QString("time")] = data[QString("DateTime")].toDateTime().toString(Qt::TextDate); - values[QString("isotime")] = data[QString("DateTime")].toDateTime().toString(Qt::ISODate); - values[QString("shorttime")] = data[QString("DateTime")].toDateTime().toString(Qt::SystemLocaleShortDate); - values[QString("longtime")] = data[QString("DateTime")].toDateTime().toString(Qt::SystemLocaleLongDate); + values[QString("time")] = dt.toString(Qt::TextDate); + values[QString("isotime")] = dt.toString(Qt::ISODate); + values[QString("shorttime")] = loc.toString(dt, QLocale::ShortFormat); + values[QString("longtime")] = loc.toString(dt, QLocale::LongFormat); values[QString("ctime")] = params[QString("customTime")].toString(); foreach(QString key, timeKeys) - values[QString("ctime")].replace(QString("$%1").arg(key), - data[QString("DateTime")].toDateTime().toString(key)); + values[QString("ctime")].replace(QString("$%1").arg(key), loc.toString(dt, key)); } else if (sourceName == QString("system/uptime")) { // uptime int uptime = data[QString("value")].toFloat(); diff --git a/sources/awesome-widget/plugin/awkeys.h b/sources/awesome-widget/plugin/awkeys.h index 462e2e1..3de310f 100644 --- a/sources/awesome-widget/plugin/awkeys.h +++ b/sources/awesome-widget/plugin/awkeys.h @@ -46,6 +46,7 @@ public: Q_INVOKABLE void initKeys(const QString currentPattern); Q_INVOKABLE void initTooltip(const QVariantMap tooltipParams); Q_INVOKABLE void setPopupEnabled(const bool popup = false); + Q_INVOKABLE void setTranslateStrings(const bool translate = false); Q_INVOKABLE void setWrapNewLines(const bool wrap = false); Q_INVOKABLE QString parsePattern() const; Q_INVOKABLE QSize toolTipSize() const; @@ -88,6 +89,7 @@ private: AWToolTip *toolTip = nullptr; bool debug = false; bool enablePopup = false; + bool translateStrings = false; bool wrapNewLines = false; ExtItemAggregator *graphicalItems; ExtItemAggregator *extQuotes; diff --git a/sources/awesome-widget/plugin/awtooltip.cpp b/sources/awesome-widget/plugin/awtooltip.cpp index 065e2d8..dd0503a 100644 --- a/sources/awesome-widget/plugin/awtooltip.cpp +++ b/sources/awesome-widget/plugin/awtooltip.cpp @@ -92,11 +92,8 @@ void AWToolTip::dataUpdate(QHash values) setData(QString("cpuclTooltip"), values[QString("cpucl")].toFloat()); setData(QString("memTooltip"), values[QString("mem")].toFloat()); setData(QString("swapTooltip"), values[QString("swap")].toFloat()); - // network may be showed as float (MB/s) or as int (KB/s) - setData(QString("downTooltip"), values[QString("down")].contains(QChar('.')) ? - values[QString("down")].toFloat() * 1024.0 : values[QString("down")].toFloat()); - setData(QString("upTooltip"), values[QString("up")].contains(QChar('.')) ? - values[QString("up")].toFloat() * 1024.0 : values[QString("up")].toFloat()); + setData(QString("downTooltip"), values[QString("downkb")].toFloat()); + setData(QString("upTooltip"), values[QString("upkb")].toFloat()); emit(toolTipPainted(htmlImage())); } diff --git a/sources/translations/awesome-widgets.pot b/sources/translations/awesome-widgets.pot index 1eeb332..39081f8 100644 --- a/sources/translations/awesome-widgets.pot +++ b/sources/translations/awesome-widgets.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n" -"POT-Creation-Date: 2015-08-22 00:36+0300\n" +"POT-Creation-Date: 2015-08-22 14:06+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -89,6 +89,12 @@ msgstr "" msgid "AC offline tag" msgstr "" +msgid "Check updates on startup" +msgstr "" + +msgid "Translate strings" +msgstr "" + msgid "Drop key cache" msgstr "" diff --git a/sources/translations/en.po b/sources/translations/en.po index 9f5dbd8..4387379 100644 --- a/sources/translations/en.po +++ b/sources/translations/en.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n" -"POT-Creation-Date: 2015-08-22 00:36+0300\n" -"PO-Revision-Date: 2015-08-22 00:38+0300\n" +"POT-Creation-Date: 2015-08-22 14:06+0300\n" +"PO-Revision-Date: 2015-08-22 14:08+0300\n" "Last-Translator: Evgeniy Alekseev \n" "Language-Team: English \n" "Language: ru\n" @@ -90,6 +90,12 @@ msgstr "AC online tag" msgid "AC offline tag" msgstr "AC offline tag" +msgid "Check updates on startup" +msgstr "Check updates on startup" + +msgid "Translate strings" +msgstr "Translate strings" + msgid "Drop key cache" msgstr "Drop key cache" diff --git a/sources/translations/es.po b/sources/translations/es.po index 16167ad..cd20610 100644 --- a/sources/translations/es.po +++ b/sources/translations/es.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n" -"POT-Creation-Date: 2015-08-22 00:36+0300\n" +"POT-Creation-Date: 2015-08-22 14:06+0300\n" "PO-Revision-Date: 2015-07-31 22:13+0300\n" "Last-Translator: Evgeniy Alekseev \n" "Language-Team: Spanish \n" @@ -90,6 +90,14 @@ msgstr "Etiqueta para alimentación conectada" msgid "AC offline tag" msgstr "Etiqueta para la alimentación desconectada" +#, fuzzy +msgid "Check updates on startup" +msgstr "Comprobar actualizaciones" + +#, fuzzy +msgid "Translate strings" +msgstr "Problemas de traducción" + msgid "Drop key cache" msgstr "" diff --git a/sources/translations/extract_messages.sh b/sources/translations/extract_messages.sh index b182ff1..7276bd2 100755 --- a/sources/translations/extract_messages.sh +++ b/sources/translations/extract_messages.sh @@ -16,7 +16,7 @@ echo 'i18nc("EMAIL OF TRANSLATORS","Your emails");' >> "${WORKDIR}/rc.cpp" find "${BASEDIR}" -name '*.cpp' -o -name '*.h' -o -name '*.qml' | sort > "${WORKDIR}/infiles.list" echo "rc.cpp" >> "${WORKDIR}/infiles.list" -xgettext -C --no-location --msgid-bugs-address="${BUGADDR}" "${TAGS}" \ +xgettext -C --no-location --msgid-bugs-address="${BUGADDR}" ${TAGS} \ --files-from="infiles.list" -D "${BASEDIR}" -D "${WORKDIR}" -o "${PROJECT}.pot" || exit 1 TRANSLATIONS=$(find . -name '*.po') diff --git a/sources/translations/fr.po b/sources/translations/fr.po index 42be2ad..a4b5472 100644 --- a/sources/translations/fr.po +++ b/sources/translations/fr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n" -"POT-Creation-Date: 2015-08-22 00:36+0300\n" +"POT-Creation-Date: 2015-08-22 14:06+0300\n" "PO-Revision-Date: 2015-07-31 22:16+0300\n" "Last-Translator: Evgeniy Alekseev \n" "Language-Team: French \n" @@ -92,6 +92,14 @@ msgstr "Étiquette alimentation branchée" msgid "AC offline tag" msgstr "Étiquette alimentation débranchée" +#, fuzzy +msgid "Check updates on startup" +msgstr "Vérifier les mises à jour" + +#, fuzzy +msgid "Translate strings" +msgstr "Traductions" + msgid "Drop key cache" msgstr "" diff --git a/sources/translations/nl.po b/sources/translations/nl.po index 7069f16..79c92e8 100644 --- a/sources/translations/nl.po +++ b/sources/translations/nl.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Awesome widgets\n" "Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n" -"POT-Creation-Date: 2015-08-22 00:36+0300\n" +"POT-Creation-Date: 2015-08-22 14:06+0300\n" "PO-Revision-Date: 2015-08-20 22:52+0300\n" "Last-Translator: Evgeniy Alekseev \n" "Language-Team: Dutch \n" @@ -92,6 +92,14 @@ msgstr "AC online-sleutelwoord" msgid "AC offline tag" msgstr "AC offline-sleutelwoord" +#, fuzzy +msgid "Check updates on startup" +msgstr "Controleren op updates" + +#, fuzzy +msgid "Translate strings" +msgstr "Probleem met de vertaling" + msgid "Drop key cache" msgstr "" diff --git a/sources/translations/pt_BR.po b/sources/translations/pt_BR.po index e0df09c..98c072d 100644 --- a/sources/translations/pt_BR.po +++ b/sources/translations/pt_BR.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n" -"POT-Creation-Date: 2015-08-22 00:36+0300\n" +"POT-Creation-Date: 2015-08-22 14:06+0300\n" "PO-Revision-Date: 2015-07-31 22:21+0300\n" "Last-Translator: Evgeniy Alekseev \n" "Language-Team: Russian \n" @@ -91,6 +91,14 @@ msgstr "Rótulo com carregador conectado" msgid "AC offline tag" msgstr "Rótulo com carregador desconectado" +#, fuzzy +msgid "Check updates on startup" +msgstr "Checar por atualizações" + +#, fuzzy +msgid "Translate strings" +msgstr "Problema na tradução" + msgid "Drop key cache" msgstr "" diff --git a/sources/translations/ru.po b/sources/translations/ru.po index 966e17d..3d8670c 100644 --- a/sources/translations/ru.po +++ b/sources/translations/ru.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n" -"POT-Creation-Date: 2015-08-22 00:36+0300\n" -"PO-Revision-Date: 2015-08-22 00:39+0300\n" +"POT-Creation-Date: 2015-08-22 14:06+0300\n" +"PO-Revision-Date: 2015-08-22 14:08+0300\n" "Last-Translator: Evgeniy Alekseev \n" "Language-Team: Russian \n" "Language: ru\n" @@ -90,6 +90,12 @@ msgstr "AC подключен" msgid "AC offline tag" msgstr "AC отключен" +msgid "Check updates on startup" +msgstr "Проверять обновления при запуске" + +msgid "Translate strings" +msgstr "Переводить строки" + msgid "Drop key cache" msgstr "Сбросить кеш ключей" diff --git a/sources/translations/uk.po b/sources/translations/uk.po index c62b68d..7a82a42 100644 --- a/sources/translations/uk.po +++ b/sources/translations/uk.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n" -"POT-Creation-Date: 2015-08-22 00:36+0300\n" +"POT-Creation-Date: 2015-08-22 14:06+0300\n" "PO-Revision-Date: 2015-07-31 22:23+0300\n" "Last-Translator: Evgeniy Alekseev \n" "Language-Team: Ukrainian \n" @@ -90,6 +90,14 @@ msgstr "AC підключений" msgid "AC offline tag" msgstr "AC відключений" +#, fuzzy +msgid "Check updates on startup" +msgstr "Шукати оновлення" + +#, fuzzy +msgid "Translate strings" +msgstr "Тікет перекладу" + msgid "Drop key cache" msgstr "" diff --git a/sources/translations/zh.po b/sources/translations/zh.po index 50571f4..1823a05 100644 --- a/sources/translations/zh.po +++ b/sources/translations/zh.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n" -"POT-Creation-Date: 2015-08-22 00:36+0300\n" +"POT-Creation-Date: 2015-08-22 14:06+0300\n" "PO-Revision-Date: 2015-07-31 22:24+0300\n" "Last-Translator: Evgeniy Alekseev \n" "Language-Team: Russian \n" @@ -90,6 +90,12 @@ msgstr "外接电源使用中标签" msgid "AC offline tag" msgstr "外接电源未使用标签" +msgid "Check updates on startup" +msgstr "" + +msgid "Translate strings" +msgstr "" + msgid "Drop key cache" msgstr ""