Added drop-support to main window (issue #8)
If text is dropped on the main window, the add dialog pops up with the user/instance field pre-filled.develop
parent
27ccc954a1
commit
f6ff77571d
|
@ -1,6 +1,6 @@
|
||||||
cmake_minimum_required (VERSION 3.6)
|
cmake_minimum_required (VERSION 3.6)
|
||||||
project (whyblocked
|
project (whyblocked
|
||||||
VERSION 0.10.11
|
VERSION 0.11.0
|
||||||
LANGUAGES CXX
|
LANGUAGES CXX
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -15,10 +15,12 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <regex>
|
#include <regex>
|
||||||
|
#include <array>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <QTranslator>
|
#include <QTranslator>
|
||||||
#include <QLibraryInfo>
|
#include <QLibraryInfo>
|
||||||
|
#include <QtCore/qmimedata.h>
|
||||||
#include "version.hpp"
|
#include "version.hpp"
|
||||||
#include "whyblocked.hpp"
|
#include "whyblocked.hpp"
|
||||||
#include "interface_qt.hpp"
|
#include "interface_qt.hpp"
|
||||||
|
@ -177,6 +179,45 @@ const string MainWindow::urls_to_hyperlinks(const string &text)
|
||||||
return std::regex_replace(text, re_url, "<a href=\"$1\">$1</a>");
|
return std::regex_replace(text, re_url, "<a href=\"$1\">$1</a>");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainWindow::dragEnterEvent(QDragEnterEvent *event)
|
||||||
|
{
|
||||||
|
if (event->mimeData()->hasFormat("text/plain"))
|
||||||
|
{
|
||||||
|
event->acceptProposedAction();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::dropEvent(QDropEvent *event)
|
||||||
|
{
|
||||||
|
string text = event->mimeData()->text().toStdString();
|
||||||
|
const std::array<const std::regex, 4> fediverse =
|
||||||
|
{
|
||||||
|
std::regex("https://([^/]+)/@([^/]+)"), // Mastodon
|
||||||
|
std::regex("https://([^/]+)/profile/([^/]+)"), // Friendica
|
||||||
|
std::regex("https://([^/]+)/users/([^/]+)"), // Pleroma
|
||||||
|
std::regex("https://([^/]+)/([^/]+)") // Gnusocial
|
||||||
|
};
|
||||||
|
std::smatch match;
|
||||||
|
|
||||||
|
for (const std::regex &re : fediverse)
|
||||||
|
{
|
||||||
|
std::regex_match(text, match, re);
|
||||||
|
const string instance = match[1];
|
||||||
|
const string user = match[2];
|
||||||
|
if (!instance.empty() && !user.empty())
|
||||||
|
{
|
||||||
|
text = '@' + user + '@' + instance;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
DialogAdd *dialog = new DialogAdd(this);
|
||||||
|
Dialogdata data;
|
||||||
|
data.user = text;
|
||||||
|
dialog->set_data(data);
|
||||||
|
dialog->show();
|
||||||
|
}
|
||||||
|
|
||||||
DialogAdd::DialogAdd(QMainWindow *parent)
|
DialogAdd::DialogAdd(QMainWindow *parent)
|
||||||
: QDialog(parent)
|
: QDialog(parent)
|
||||||
, _parent(static_cast<MainWindow*>(parent))
|
, _parent(static_cast<MainWindow*>(parent))
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
#include <QMainWindow>
|
#include <QMainWindow>
|
||||||
#include <QStandardItemModel>
|
#include <QStandardItemModel>
|
||||||
#include <QDialog>
|
#include <QDialog>
|
||||||
|
#include <QtGui/qevent.h>
|
||||||
#include "ui_whyblocked.h"
|
#include "ui_whyblocked.h"
|
||||||
#include "ui_whyblocked_add.h"
|
#include "ui_whyblocked_add.h"
|
||||||
|
|
||||||
|
@ -28,10 +29,10 @@ using std::string;
|
||||||
|
|
||||||
struct Dialogdata
|
struct Dialogdata
|
||||||
{
|
{
|
||||||
string user;
|
string user = "";
|
||||||
bool blocked;
|
bool blocked = true;
|
||||||
string reason;
|
string reason = "";
|
||||||
std::vector<string> receipts;
|
std::vector<string> receipts = {};
|
||||||
};
|
};
|
||||||
|
|
||||||
class MainWindow : public QMainWindow, private Ui::MainWindow
|
class MainWindow : public QMainWindow, private Ui::MainWindow
|
||||||
|
@ -48,6 +49,8 @@ public slots:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const string urls_to_hyperlinks(const string &text);
|
const string urls_to_hyperlinks(const string &text);
|
||||||
|
void dragEnterEvent(QDragEnterEvent *event);
|
||||||
|
void dropEvent(QDropEvent *event);
|
||||||
|
|
||||||
QStandardItemModel *_model;
|
QStandardItemModel *_model;
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,9 @@
|
||||||
<height>600</height>
|
<height>600</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="acceptDrops">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
<string>Whyblocked</string>
|
<string>Whyblocked</string>
|
||||||
</property>
|
</property>
|
||||||
|
@ -24,6 +27,9 @@
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QTableView" name="tableview">
|
<widget class="QTableView" name="tableview">
|
||||||
|
<property name="acceptDrops">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>Click or press enter to view receipts</string>
|
<string>Click or press enter to view receipts</string>
|
||||||
</property>
|
</property>
|
||||||
|
|
|
@ -64,12 +64,12 @@
|
||||||
<translation>Ent&fernen</translation>
|
<translation>Ent&fernen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/interface_qt.cpp" line="221"/>
|
<location filename="../src/interface_qt.cpp" line="262"/>
|
||||||
<source>Insert receipt here.</source>
|
<source>Insert receipt here.</source>
|
||||||
<translation>Beleg hier einfügen.</translation>
|
<translation>Beleg hier einfügen.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/interface_qt.cpp" line="256"/>
|
<location filename="../src/interface_qt.cpp" line="297"/>
|
||||||
<source>Added %1 to database.</source>
|
<source>Added %1 to database.</source>
|
||||||
<translation>%1 zur Datenbank hinzugefügt.</translation>
|
<translation>%1 zur Datenbank hinzugefügt.</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -77,178 +77,178 @@
|
||||||
<context>
|
<context>
|
||||||
<name>MainWindow</name>
|
<name>MainWindow</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="14"/>
|
<location filename="../src/whyblocked.ui" line="17"/>
|
||||||
<source>Whyblocked</source>
|
<source>Whyblocked</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="28"/>
|
<location filename="../src/whyblocked.ui" line="34"/>
|
||||||
<source>Click or press enter to view receipts</source>
|
<source>Click or press enter to view receipts</source>
|
||||||
<translation>Klicken oder Eingabe drücken, um Belege zu anzuzeigen</translation>
|
<translation>Klicken oder Eingabe drücken, um Belege zu anzuzeigen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="71"/>
|
<location filename="../src/whyblocked.ui" line="77"/>
|
||||||
<source>Memory aids, proof</source>
|
<source>Memory aids, proof</source>
|
||||||
<translation>Gedächtnisstützen, Beweise</translation>
|
<translation>Gedächtnisstützen, Beweise</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="95"/>
|
<location filename="../src/whyblocked.ui" line="101"/>
|
||||||
<source>Toolbar</source>
|
<source>Toolbar</source>
|
||||||
<translation>Werkzeugleiste</translation>
|
<translation>Werkzeugleiste</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="122"/>
|
<location filename="../src/whyblocked.ui" line="128"/>
|
||||||
<source>&Database</source>
|
<source>&Database</source>
|
||||||
<translation>&Datenbank</translation>
|
<translation>&Datenbank</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="132"/>
|
<location filename="../src/whyblocked.ui" line="138"/>
|
||||||
<source>&Help</source>
|
<source>&Help</source>
|
||||||
<translation>&Hilfe</translation>
|
<translation>&Hilfe</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="145"/>
|
<location filename="../src/whyblocked.ui" line="151"/>
|
||||||
<source>&Add</source>
|
<source>&Add</source>
|
||||||
<translation>&Hinzufügen</translation>
|
<translation>&Hinzufügen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="148"/>
|
<location filename="../src/whyblocked.ui" line="154"/>
|
||||||
<source>Add user or instance</source>
|
<source>Add user or instance</source>
|
||||||
<translation>Benutzer oder Instanz hinzufügen</translation>
|
<translation>Benutzer oder Instanz hinzufügen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="151"/>
|
<location filename="../src/whyblocked.ui" line="157"/>
|
||||||
<source>Ctrl+N</source>
|
<source>Ctrl+N</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="160"/>
|
<location filename="../src/whyblocked.ui" line="166"/>
|
||||||
<source>Re&move</source>
|
<source>Re&move</source>
|
||||||
<translation>Ent&fernen</translation>
|
<translation>Ent&fernen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="163"/>
|
<location filename="../src/whyblocked.ui" line="169"/>
|
||||||
<source>Remove user or instance</source>
|
<source>Remove user or instance</source>
|
||||||
<translation>Benutzer oder Instanz entfernen</translation>
|
<translation>Benutzer oder Instanz entfernen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="166"/>
|
<location filename="../src/whyblocked.ui" line="172"/>
|
||||||
<source>Del</source>
|
<source>Del</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="175"/>
|
<location filename="../src/whyblocked.ui" line="181"/>
|
||||||
<source>&About</source>
|
<source>&About</source>
|
||||||
<translation>&Über</translation>
|
<translation>&Über</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="178"/>
|
<location filename="../src/whyblocked.ui" line="184"/>
|
||||||
<source>About this application</source>
|
<source>About this application</source>
|
||||||
<translation>Über dieses Programm</translation>
|
<translation>Über dieses Programm</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="187"/>
|
<location filename="../src/whyblocked.ui" line="193"/>
|
||||||
<source>&Reload</source>
|
<source>&Reload</source>
|
||||||
<translation>Neu &laden</translation>
|
<translation>Neu &laden</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="190"/>
|
<location filename="../src/whyblocked.ui" line="196"/>
|
||||||
<source>Reload database</source>
|
<source>Reload database</source>
|
||||||
<translation>Datenbank neu laden</translation>
|
<translation>Datenbank neu laden</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="193"/>
|
<location filename="../src/whyblocked.ui" line="199"/>
|
||||||
<source>Ctrl+R</source>
|
<source>Ctrl+R</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="202"/>
|
<location filename="../src/whyblocked.ui" line="208"/>
|
||||||
<source>&Quit</source>
|
<source>&Quit</source>
|
||||||
<translation>&Beenden</translation>
|
<translation>&Beenden</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="205"/>
|
<location filename="../src/whyblocked.ui" line="211"/>
|
||||||
<source>Quit application</source>
|
<source>Quit application</source>
|
||||||
<translation>Programm beenden</translation>
|
<translation>Programm beenden</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="208"/>
|
<location filename="../src/whyblocked.ui" line="214"/>
|
||||||
<source>Ctrl+Q</source>
|
<source>Ctrl+Q</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="217"/>
|
<location filename="../src/whyblocked.ui" line="223"/>
|
||||||
<source>&Edit</source>
|
<source>&Edit</source>
|
||||||
<translation>B&earbeiten</translation>
|
<translation>B&earbeiten</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="220"/>
|
<location filename="../src/whyblocked.ui" line="226"/>
|
||||||
<location filename="../src/interface_qt.cpp" line="93"/>
|
<location filename="../src/interface_qt.cpp" line="95"/>
|
||||||
<source>Edit entry</source>
|
<source>Edit entry</source>
|
||||||
<translation>Eintrag bearbeiten</translation>
|
<translation>Eintrag bearbeiten</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/interface_qt.cpp" line="40"/>
|
<location filename="../src/interface_qt.cpp" line="42"/>
|
||||||
<source>User/Instance</source>
|
<source>User/Instance</source>
|
||||||
<translation>Benutzer/Instanz</translation>
|
<translation>Benutzer/Instanz</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/interface_qt.cpp" line="41"/>
|
<location filename="../src/interface_qt.cpp" line="43"/>
|
||||||
<source>Blocked/Silenced</source>
|
<source>Blocked/Silenced</source>
|
||||||
<translation>Blockiert/Gedämpft</translation>
|
<translation>Blockiert/Gedämpft</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/interface_qt.cpp" line="42"/>
|
<location filename="../src/interface_qt.cpp" line="44"/>
|
||||||
<source>Reason</source>
|
<source>Reason</source>
|
||||||
<translation>Begründung</translation>
|
<translation>Begründung</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/interface_qt.cpp" line="57"/>
|
<location filename="../src/interface_qt.cpp" line="59"/>
|
||||||
<source>Database loaded.</source>
|
<source>Database loaded.</source>
|
||||||
<translation>Datenbank geladen.</translation>
|
<translation>Datenbank geladen.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/interface_qt.cpp" line="67"/>
|
<location filename="../src/interface_qt.cpp" line="69"/>
|
||||||
<source>blocked</source>
|
<source>blocked</source>
|
||||||
<translation>blockiert</translation>
|
<translation>blockiert</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/interface_qt.cpp" line="71"/>
|
<location filename="../src/interface_qt.cpp" line="73"/>
|
||||||
<source>silenced</source>
|
<source>silenced</source>
|
||||||
<translation>gedämpft</translation>
|
<translation>gedämpft</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/interface_qt.cpp" line="87"/>
|
<location filename="../src/interface_qt.cpp" line="89"/>
|
||||||
<source>Invalid selection</source>
|
<source>Invalid selection</source>
|
||||||
<translation>Ungültige Auswahl</translation>
|
<translation>Ungültige Auswahl</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/interface_qt.cpp" line="88"/>
|
<location filename="../src/interface_qt.cpp" line="90"/>
|
||||||
<source>Please select only 1 entry to edit.</source>
|
<source>Please select only 1 entry to edit.</source>
|
||||||
<translation>Bitte nur 1 Eintrag zum bearbeiten auswählen.</translation>
|
<translation>Bitte nur 1 Eintrag zum bearbeiten auswählen.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/interface_qt.cpp" line="125"/>
|
<location filename="../src/interface_qt.cpp" line="127"/>
|
||||||
<source>Removed %1 from database.</source>
|
<source>Removed %1 from database.</source>
|
||||||
<translation>%1 aus der Datenbank gelöscht.</translation>
|
<translation>%1 aus der Datenbank gelöscht.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/interface_qt.cpp" line="133"/>
|
<location filename="../src/interface_qt.cpp" line="135"/>
|
||||||
<source>Select data to remove.</source>
|
<source>Select data to remove.</source>
|
||||||
<translation>Wähle Daten zum löschen aus.</translation>
|
<translation>Wähle Daten zum löschen aus.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/interface_qt.cpp" line="139"/>
|
<location filename="../src/interface_qt.cpp" line="141"/>
|
||||||
<source>About Whyblocked</source>
|
<source>About Whyblocked</source>
|
||||||
<translation>Über Whyblocked</translation>
|
<translation>Über Whyblocked</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/interface_qt.cpp" line="140"/>
|
<location filename="../src/interface_qt.cpp" line="142"/>
|
||||||
<source><p><b>Whyblocked</b> %1</p><p>Reminds you why you blocked someone.</p><p>Sourcecode: <a href="https://schlomp.space/tastytea/whyblocked">https://schlomp.space/tastytea/whyblocked</a></p><p><small>Copyright © 2018 <a href="mailto:tastytea@tastytea.de">tastytea</a>.<br>Licence GPLv3: <a href="https://www.gnu.org/licenses/gpl-3.0.html">GNU GPL version 3</a>.<br>This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions.</small></p></source>
|
<source><p><b>Whyblocked</b> %1</p><p>Reminds you why you blocked someone.</p><p>Sourcecode: <a href="https://schlomp.space/tastytea/whyblocked">https://schlomp.space/tastytea/whyblocked</a></p><p><small>Copyright © 2018 <a href="mailto:tastytea@tastytea.de">tastytea</a>.<br>Licence GPLv3: <a href="https://www.gnu.org/licenses/gpl-3.0.html">GNU GPL version 3</a>.<br>This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions.</small></p></source>
|
||||||
<translation><p><b>Whyblocked</b> %1</p><p>Erinnert dich, warum du jemanden blockiertest.</p><p>Quelltext: <a href="https://schlomp.space/tastytea/whyblocked">https://schlomp.space/tastytea/whyblocked</a></p><p><small>Copyright © 2018 <a href="mailto:tastytea@tastytea.de">tastytea</a>.<br>Lizenz GPLv3: <a href="https://www.gnu.org/licenses/gpl-3.0.html">GNU GPL version 3</a>.<br>Für dieses Programm besteht KEINERLEI GARANTIE. Dies ist freie Software, die Sie unter bestimmten Bedingungen weitergeben dürfen.</small></p></translation>
|
<translation><p><b>Whyblocked</b> %1</p><p>Erinnert dich, warum du jemanden blockiertest.</p><p>Quelltext: <a href="https://schlomp.space/tastytea/whyblocked">https://schlomp.space/tastytea/whyblocked</a></p><p><small>Copyright © 2018 <a href="mailto:tastytea@tastytea.de">tastytea</a>.<br>Lizenz GPLv3: <a href="https://www.gnu.org/licenses/gpl-3.0.html">GNU GPL version 3</a>.<br>Für dieses Programm besteht KEINERLEI GARANTIE. Dies ist freie Software, die Sie unter bestimmten Bedingungen weitergeben dürfen.</small></p></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/interface_qt.cpp" line="163"/>
|
<location filename="../src/interface_qt.cpp" line="165"/>
|
||||||
<source>Receipts:</source>
|
<source>Receipts:</source>
|
||||||
<translation>Belege:</translation>
|
<translation>Belege:</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
|
@ -64,12 +64,12 @@
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/interface_qt.cpp" line="221"/>
|
<location filename="../src/interface_qt.cpp" line="262"/>
|
||||||
<source>Insert receipt here.</source>
|
<source>Insert receipt here.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/interface_qt.cpp" line="256"/>
|
<location filename="../src/interface_qt.cpp" line="297"/>
|
||||||
<source>Added %1 to database.</source>
|
<source>Added %1 to database.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -77,178 +77,178 @@
|
||||||
<context>
|
<context>
|
||||||
<name>MainWindow</name>
|
<name>MainWindow</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="14"/>
|
<location filename="../src/whyblocked.ui" line="17"/>
|
||||||
<source>Whyblocked</source>
|
<source>Whyblocked</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="28"/>
|
<location filename="../src/whyblocked.ui" line="34"/>
|
||||||
<source>Click or press enter to view receipts</source>
|
<source>Click or press enter to view receipts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="71"/>
|
<location filename="../src/whyblocked.ui" line="77"/>
|
||||||
<source>Memory aids, proof</source>
|
<source>Memory aids, proof</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="95"/>
|
<location filename="../src/whyblocked.ui" line="101"/>
|
||||||
<source>Toolbar</source>
|
<source>Toolbar</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="122"/>
|
<location filename="../src/whyblocked.ui" line="128"/>
|
||||||
<source>&Database</source>
|
<source>&Database</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="132"/>
|
<location filename="../src/whyblocked.ui" line="138"/>
|
||||||
<source>&Help</source>
|
<source>&Help</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="145"/>
|
<location filename="../src/whyblocked.ui" line="151"/>
|
||||||
<source>&Add</source>
|
<source>&Add</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="148"/>
|
<location filename="../src/whyblocked.ui" line="154"/>
|
||||||
<source>Add user or instance</source>
|
<source>Add user or instance</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="151"/>
|
<location filename="../src/whyblocked.ui" line="157"/>
|
||||||
<source>Ctrl+N</source>
|
<source>Ctrl+N</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="160"/>
|
<location filename="../src/whyblocked.ui" line="166"/>
|
||||||
<source>Re&move</source>
|
<source>Re&move</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="163"/>
|
<location filename="../src/whyblocked.ui" line="169"/>
|
||||||
<source>Remove user or instance</source>
|
<source>Remove user or instance</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="166"/>
|
<location filename="../src/whyblocked.ui" line="172"/>
|
||||||
<source>Del</source>
|
<source>Del</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="175"/>
|
<location filename="../src/whyblocked.ui" line="181"/>
|
||||||
<source>&About</source>
|
<source>&About</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="178"/>
|
<location filename="../src/whyblocked.ui" line="184"/>
|
||||||
<source>About this application</source>
|
<source>About this application</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="187"/>
|
<location filename="../src/whyblocked.ui" line="193"/>
|
||||||
<source>&Reload</source>
|
<source>&Reload</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="190"/>
|
<location filename="../src/whyblocked.ui" line="196"/>
|
||||||
<source>Reload database</source>
|
<source>Reload database</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="193"/>
|
<location filename="../src/whyblocked.ui" line="199"/>
|
||||||
<source>Ctrl+R</source>
|
<source>Ctrl+R</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="202"/>
|
<location filename="../src/whyblocked.ui" line="208"/>
|
||||||
<source>&Quit</source>
|
<source>&Quit</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="205"/>
|
<location filename="../src/whyblocked.ui" line="211"/>
|
||||||
<source>Quit application</source>
|
<source>Quit application</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="208"/>
|
<location filename="../src/whyblocked.ui" line="214"/>
|
||||||
<source>Ctrl+Q</source>
|
<source>Ctrl+Q</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="217"/>
|
<location filename="../src/whyblocked.ui" line="223"/>
|
||||||
<source>&Edit</source>
|
<source>&Edit</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/whyblocked.ui" line="220"/>
|
<location filename="../src/whyblocked.ui" line="226"/>
|
||||||
<location filename="../src/interface_qt.cpp" line="93"/>
|
<location filename="../src/interface_qt.cpp" line="95"/>
|
||||||
<source>Edit entry</source>
|
<source>Edit entry</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/interface_qt.cpp" line="40"/>
|
<location filename="../src/interface_qt.cpp" line="42"/>
|
||||||
<source>User/Instance</source>
|
<source>User/Instance</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/interface_qt.cpp" line="41"/>
|
<location filename="../src/interface_qt.cpp" line="43"/>
|
||||||
<source>Blocked/Silenced</source>
|
<source>Blocked/Silenced</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/interface_qt.cpp" line="42"/>
|
<location filename="../src/interface_qt.cpp" line="44"/>
|
||||||
<source>Reason</source>
|
<source>Reason</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/interface_qt.cpp" line="57"/>
|
<location filename="../src/interface_qt.cpp" line="59"/>
|
||||||
<source>Database loaded.</source>
|
<source>Database loaded.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/interface_qt.cpp" line="67"/>
|
<location filename="../src/interface_qt.cpp" line="69"/>
|
||||||
<source>blocked</source>
|
<source>blocked</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/interface_qt.cpp" line="71"/>
|
<location filename="../src/interface_qt.cpp" line="73"/>
|
||||||
<source>silenced</source>
|
<source>silenced</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/interface_qt.cpp" line="87"/>
|
<location filename="../src/interface_qt.cpp" line="89"/>
|
||||||
<source>Invalid selection</source>
|
<source>Invalid selection</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/interface_qt.cpp" line="88"/>
|
<location filename="../src/interface_qt.cpp" line="90"/>
|
||||||
<source>Please select only 1 entry to edit.</source>
|
<source>Please select only 1 entry to edit.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/interface_qt.cpp" line="125"/>
|
<location filename="../src/interface_qt.cpp" line="127"/>
|
||||||
<source>Removed %1 from database.</source>
|
<source>Removed %1 from database.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/interface_qt.cpp" line="133"/>
|
<location filename="../src/interface_qt.cpp" line="135"/>
|
||||||
<source>Select data to remove.</source>
|
<source>Select data to remove.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/interface_qt.cpp" line="139"/>
|
<location filename="../src/interface_qt.cpp" line="141"/>
|
||||||
<source>About Whyblocked</source>
|
<source>About Whyblocked</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/interface_qt.cpp" line="140"/>
|
<location filename="../src/interface_qt.cpp" line="142"/>
|
||||||
<source><p><b>Whyblocked</b> %1</p><p>Reminds you why you blocked someone.</p><p>Sourcecode: <a href="https://schlomp.space/tastytea/whyblocked">https://schlomp.space/tastytea/whyblocked</a></p><p><small>Copyright © 2018 <a href="mailto:tastytea@tastytea.de">tastytea</a>.<br>Licence GPLv3: <a href="https://www.gnu.org/licenses/gpl-3.0.html">GNU GPL version 3</a>.<br>This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions.</small></p></source>
|
<source><p><b>Whyblocked</b> %1</p><p>Reminds you why you blocked someone.</p><p>Sourcecode: <a href="https://schlomp.space/tastytea/whyblocked">https://schlomp.space/tastytea/whyblocked</a></p><p><small>Copyright © 2018 <a href="mailto:tastytea@tastytea.de">tastytea</a>.<br>Licence GPLv3: <a href="https://www.gnu.org/licenses/gpl-3.0.html">GNU GPL version 3</a>.<br>This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions.</small></p></source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/interface_qt.cpp" line="163"/>
|
<location filename="../src/interface_qt.cpp" line="165"/>
|
||||||
<source>Receipts:</source>
|
<source>Receipts:</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
Loading…
Reference in New Issue