Compare commits

..

9 commits
2.0 ... 3.7

Author SHA1 Message Date
9fd535f8b7 3.7 2025-02-15 08:42:59 +01:00
d71fc587b0 3.6 2025-02-15 08:42:11 +01:00
8a0452e969 3.5 2025-02-15 08:41:33 +01:00
69e9feb1b0 3.4 2025-02-15 08:40:29 +01:00
bc4098b015 3.3 2025-02-15 08:39:23 +01:00
ac35692272 3.2 2025-02-15 08:38:24 +01:00
3785fa8c6c 3.1 2025-02-15 08:37:35 +01:00
51189b9789 3.0 2025-02-15 08:36:58 +01:00
a41c082864 2.1 2025-02-15 08:35:47 +01:00
12 changed files with 816 additions and 272 deletions

BIN
Video-Datenbank-128.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
Video-Datenbank-16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 787 B

BIN
Video-Datenbank-256.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

BIN
Video-Datenbank-32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
Video-Datenbank-48.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
Video-Datenbank-64.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

View file

@ -1,4 +1,4 @@
QT += core gui sql QT += core gui sql printsupport network xml
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
@ -18,7 +18,7 @@ HEADERS += \
FORMS += \ FORMS += \
mainwindow.ui mainwindow.ui
RC_ICONS = Video-Datenbank.ico win32: RC_ICONS = Video-Datenbank.ico
RESOURCES += \ RESOURCES += \
Video-Datenbank.qrc Video-Datenbank.qrc

View file

@ -4,6 +4,9 @@
int main(int argc, char *argv[]){ int main(int argc, char *argv[]){
QApplication a(argc, argv); QApplication a(argc, argv);
#ifdef __linux__
a.setWindowIcon(QIcon("/usr/local/share/icons/Video-Datenbank/Video-Datenbank-32.png"));
#endif
MainWindow w; MainWindow w;
w.show(); w.show();
return a.exec(); return a.exec();

View file

@ -7,9 +7,18 @@ MainWindow::MainWindow(QWidget *parent)
{ {
Debug = 0; Debug = 0;
if(Debug) qDebug() << "MainWindow"; if(Debug) qDebug() << "MainWindow";
#ifdef __WIN32__
if(Debug) qDebug() << "Windows Programm";
QDir dir("pdf"); if (!dir.exists()) dir.mkdir(dir.absolutePath());
dir.setPath("png"); if (!dir.exists()) dir.mkdir(dir.absolutePath());
#elif __linux__
if(Debug) qDebug() << "Linux Programm";
QDir dir(".Video-Datenbank"); if (!dir.exists()) dir.mkdir(dir.absolutePath());
dir.setPath(".Video-Datenbank/pdf"); if (!dir.exists()) dir.mkdir(dir.absolutePath());
dir.setPath(".Video-Datenbank/png"); if (!dir.exists()) dir.mkdir(dir.absolutePath());
#endif
ui->setupUi(this); ui->setupUi(this);
fileName = "Video-Datenbank.db";
oeffneDatenbank(); oeffneDatenbank();
/*qApp->setStyleSheet("QWidget { color: #0c4909; \ /*qApp->setStyleSheet("QWidget { color: #0c4909; \
@ -33,13 +42,22 @@ if(Debug) qDebug() << "oeffneDatenbank";
ui->tableWidget_Datenbank_ausgabe->clear(); ui->tableWidget_Datenbank_ausgabe->clear();
QDateTime now = QDateTime::currentDateTime(); QDateTime now = QDateTime::currentDateTime();
#ifdef __WIN32__
QString newName = "Video-Datenbank-Backup-" + now.toString("yyyy.MM.dd-hh.mm.ss") + ".db"; QString newName = "Video-Datenbank-Backup-" + now.toString("yyyy.MM.dd-hh.mm.ss") + ".db";
QFile file(fileName); QFile file("Video-Datenbank.db");
#elif __linux__
QString newName = ".Video-Datenbank/Video-Datenbank-Backup.db";
QFile file(".Video-Datenbank/Video-Datenbank.db");
#endif
file.copy(newName); file.copy(newName);
db = QSqlDatabase::addDatabase("QSQLITE"); db = QSqlDatabase::addDatabase("QSQLITE");
//db.setConnectOptions("QSQLITE_ENABLE_REGEXP"); //db.setConnectOptions("QSQLITE_ENABLE_REGEXP");
#ifdef __WIN32__
db.setDatabaseName("Video-Datenbank.db"); db.setDatabaseName("Video-Datenbank.db");
#elif __linux__
db.setDatabaseName(".Video-Datenbank/Video-Datenbank.db");
#endif
if(db.open()){ if(db.open()){
ui->statusbar->showMessage("Datenbank Video-Datenbank.db geöffnet!"); ui->statusbar->showMessage("Datenbank Video-Datenbank.db geöffnet!");
@ -49,6 +67,7 @@ if(Debug) qDebug() << "oeffneDatenbank";
} }
query = QSqlQuery(db); query = QSqlQuery(db);
query2 = QSqlQuery(db);
query.exec("CREATE TABLE IF NOT EXISTS einstellungen(" query.exec("CREATE TABLE IF NOT EXISTS einstellungen("
"pfad TEXT)"); "pfad TEXT)");
@ -64,7 +83,11 @@ if(Debug) qDebug() << "oeffneDatenbank";
datenPfad = query.value(0).toString(); datenPfad = query.value(0).toString();
} }
if(datenPfad == "" || datenPfad == "/"){ if(datenPfad == "" || datenPfad == "/"){
#ifdef __WIN32__
datenPfad = "c:/"; datenPfad = "c:/";
#elif __linux__
datenPfad = "~";
#endif
} }
setWindowTitle("Video-Datenbank - Datenquelle: " + datenPfad); setWindowTitle("Video-Datenbank - Datenquelle: " + datenPfad);
@ -127,12 +150,128 @@ if(Debug) qDebug() << "~MainWindow";
if(Debug) qDebug() << "~MainWindow-Ende"; if(Debug) qDebug() << "~MainWindow-Ende";
} }
void MainWindow::on_actionDaten_aktualisieren_triggered(){ void MainWindow::on_actionVideopfad_einlesen_triggered(){
if(Debug) qDebug() << "on_actionDaten_aktualisieren_triggered"; if(Debug) qDebug() << "on_actionDaten_aktualisieren_triggered";
leseVerzeichnis(); leseVerzeichnis();
if(Debug) qDebug() << "on_actionDaten_aktualisieren_triggered-Ende"; if(Debug) qDebug() << "on_actionDaten_aktualisieren_triggered-Ende";
} }
void MainWindow::on_actionKodi_Daten_einlesen_triggered(){
if(Debug) qDebug() << "on_actionKodi_Daten_einlesen_triggered";
QSqlQuery query("SELECT pfad FROM video");
while (query.next()) {
QString pfad = query.value(0).toString();
QStringList list_pfad = pfad.split(u'.');
QString pfad_tmp;
for(int i=0; i<list_pfad.length()-1; ++i){
pfad_tmp.append(list_pfad.at(i)+".");
}
QString pfad_nfo = pfad_tmp+"nfo";
QString pfad_Bild = pfad_tmp+"-poster.jpg";
pfad_Bild.replace(".-poster.jpg","-poster.jpg");
QDomDocument doc("nfo");
QString Titel;
QString Genre;
QString Laenge;
QString Jahr;
QString Handlung;
QFile file(pfad_nfo);
if(file.open(QIODevice::ReadOnly)){
if(doc.setContent(&file)){
QDomElement docElement = doc.documentElement();
for(QDomNode n = docElement.firstChild(); !n.isNull(); n = n.nextSibling()){
if( !n.isNull() ) {
if ( n.isElement() && n.nodeName() == "title" ) {
Titel = n.toElement().text();
}
}
}
for(QDomNode n = docElement.firstChild(); !n.isNull(); n = n.nextSibling()){
if( !n.isNull() ) {
if ( n.isElement() && n.nodeName() == "genre" ) {
Genre = n.toElement().text();
}
}
}
for(QDomNode n = docElement.firstChild(); !n.isNull(); n = n.nextSibling()){
if( !n.isNull() ) {
if ( n.isElement() && n.nodeName() == "runtime" ) {
Laenge = n.toElement().text();
}
}
}
for(QDomNode n = docElement.firstChild(); !n.isNull(); n = n.nextSibling()){
if( !n.isNull() ) {
if ( n.isElement() && n.nodeName() == "year" ) {
Jahr = n.toElement().text();
}
}
}
for(QDomNode n = docElement.firstChild(); !n.isNull(); n = n.nextSibling()){
if( !n.isNull() ) {
if ( n.isElement() && n.nodeName() == "plot" ) {
Handlung = n.toElement().text();
}
}
}
}
file.close();
// id ermitteln
int id=0;
query2.exec(QString("SELECT * FROM video WHERE pfad LIKE '%1'").arg(pfad.replace(QString("'"), QString("''"))));
if(query2.lastError().isValid()){
ui->statusbar->showMessage("Fehler:" + query.lastError().databaseText());
}
while(query2.next()){
id=query2.value(0).toInt();
}
// id ermitteln ende
// Titel speichern
query2.exec(QString("UPDATE video SET Titel=('%1') WHERE id=('%2')").arg(Titel.replace(QString("'"), QString("''")), QString::number(id)));
if(query2.lastError().isValid()){
ui->statusbar->showMessage("Fehler:" + query2.lastError().databaseText());
}
// Genre speichern
query2.exec(QString("UPDATE video SET Genre=('%1') WHERE id=('%2')").arg(Genre.replace(QString("'"), QString("''")), QString::number(id)));
if(query2.lastError().isValid()){
ui->statusbar->showMessage("Fehler:" + query2.lastError().databaseText());
}
// Länge speichern
query2.exec(QString("UPDATE video SET Länge=('%1') WHERE id=('%2')").arg(Laenge.replace(QString("'"), QString("''")), QString::number(id)));
if(query2.lastError().isValid()){
ui->statusbar->showMessage("Fehler:" + query2.lastError().databaseText());
}
// Jahr speichern
query2.exec(QString("UPDATE video SET Jahr=('%1') WHERE id=('%2')").arg(Jahr.replace(QString("'"), QString("''")), QString::number(id)));
if(query2.lastError().isValid()){
ui->statusbar->showMessage("Fehler:" + query2.lastError().databaseText());
}
// Handlung speichern
query2.exec(QString("UPDATE video SET Handlung=('%1') WHERE id=('%2')").arg(Handlung.replace(QString("'"), QString("''")), QString::number(id)));
if(query2.lastError().isValid()){
ui->statusbar->showMessage("Fehler:" + query2.lastError().databaseText());
}
// Bild speichern
if(!(pfad_Bild=="")){
QFile file(pfad_Bild);
if(file.open(QIODevice::ReadOnly)){
QByteArray inByteArray = file.readAll();
query2.prepare(QString("UPDATE video SET Bild=(:imageData) WHERE id=('%1')").arg(QString::number(id)));
query2.bindValue(":imageData", inByteArray);
if(!query2.exec()){
ui->statusbar->showMessage("Fehler:" + query2.lastError().databaseText());
}
}
}
}
ui->statusbar->showMessage(pfad);
ui->statusbar->repaint();
}
ui->statusbar->showMessage("Daten gespeichert");
if(Debug) qDebug() << "on_actionKodi_Daten_einlesen_triggered";
}
void MainWindow::on_actionDaten_ausgeben_triggered(){ void MainWindow::on_actionDaten_ausgeben_triggered(){
if(Debug) qDebug() << "on_actionDaten_ausgeben_triggered"; if(Debug) qDebug() << "on_actionDaten_ausgeben_triggered";
@ -142,14 +281,12 @@ if(Debug) qDebug() << "on_actionDaten_ausgeben_triggered";
if(Debug) qDebug() << "on_actionDaten_ausgeben_triggered-Ende"; if(Debug) qDebug() << "on_actionDaten_ausgeben_triggered-Ende";
} }
void MainWindow::on_actionBeenden_triggered(){ void MainWindow::on_actionBeenden_triggered(){
if(Debug) qDebug() << "on_actionBeenden_triggered"; if(Debug) qDebug() << "on_actionBeenden_triggered";
MainWindow::close(); MainWindow::close();
if(Debug) qDebug() << "on_actionBeenden_triggered-Ende"; if(Debug) qDebug() << "on_actionBeenden_triggered-Ende";
} }
void MainWindow::on_actionPfad_zu_den_Videos_triggered(){ void MainWindow::on_actionPfad_zu_den_Videos_triggered(){
if(Debug) qDebug() << "on_actionPfad_zu_den_Videos_triggered"; if(Debug) qDebug() << "on_actionPfad_zu_den_Videos_triggered";
datenPfad = QFileDialog::getExistingDirectory(this, tr("Öffne Verzeichnis"), datenPfad, QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks); datenPfad = QFileDialog::getExistingDirectory(this, tr("Öffne Verzeichnis"), datenPfad, QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);
@ -170,7 +307,11 @@ if(Debug) qDebug() << "on_actionPfad_zu_den_Videos_triggered";
datenPfad = query.value(0).toString(); datenPfad = query.value(0).toString();
} }
if(datenPfad == "" || datenPfad == "/"){ if(datenPfad == "" || datenPfad == "/"){
#ifdef __WIN32__
datenPfad = "c:/"; datenPfad = "c:/";
#elif __linux__
datenPfad = "~";
#endif
} }
} }
setWindowTitle("Video-Datenbank - Datenquelle: " + datenPfad); setWindowTitle("Video-Datenbank - Datenquelle: " + datenPfad);
@ -250,29 +391,40 @@ if(Debug) qDebug() << "on_lineEdit_suchen_textChanged";
ui->tableWidget_Datenbank_ausgabe->setHorizontalHeaderLabels({tr("Pfad"), tr("Titel"), tr("Format"), tr("Typ"), tr("Teil"), tr("Genre"), tr("Länge"), tr("Jahr"), tr("FSK"), tr("Status")}); ui->tableWidget_Datenbank_ausgabe->setHorizontalHeaderLabels({tr("Pfad"), tr("Titel"), tr("Format"), tr("Typ"), tr("Teil"), tr("Genre"), tr("Länge"), tr("Jahr"), tr("FSK"), tr("Status")});
ui->tableWidget_Datenbank_ausgabe->setRowCount(i+1); // neue Zeile ui->tableWidget_Datenbank_ausgabe->setRowCount(i+1); // neue Zeile
ui->tableWidget_Datenbank_ausgabe->setItem(i, 0, new QTableWidgetItem (QStringLiteral("%1").arg(sucheTabelleIndex[i][0]))); ui->tableWidget_Datenbank_ausgabe->setItem(i, 0, new QTableWidgetItem (QStringLiteral("%1").arg(sucheTabelleIndex[i][0])));
ui->tableWidget_Datenbank_ausgabe->item(i, 0)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);
ui->tableWidget_Datenbank_ausgabe->setItem(i, 1, new QTableWidgetItem (QStringLiteral("%1").arg(sucheTabelleIndex[i][1]))); ui->tableWidget_Datenbank_ausgabe->setItem(i, 1, new QTableWidgetItem (QStringLiteral("%1").arg(sucheTabelleIndex[i][1])));
ui->tableWidget_Datenbank_ausgabe->item(i, 1)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);
ui->tableWidget_Datenbank_ausgabe->setItem(i, 2, new QTableWidgetItem (QStringLiteral("%1").arg(sucheTabelleIndex[i][2]))); ui->tableWidget_Datenbank_ausgabe->setItem(i, 2, new QTableWidgetItem (QStringLiteral("%1").arg(sucheTabelleIndex[i][2])));
ui->tableWidget_Datenbank_ausgabe->item(i, 2)->setTextAlignment(Qt::AlignCenter); ui->tableWidget_Datenbank_ausgabe->item(i, 2)->setTextAlignment(Qt::AlignCenter);
ui->tableWidget_Datenbank_ausgabe->item(i, 2)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);
ui->tableWidget_Datenbank_ausgabe->setItem(i, 3, new QTableWidgetItem (QStringLiteral("%1").arg(sucheTabelleIndex[i][3]))); ui->tableWidget_Datenbank_ausgabe->setItem(i, 3, new QTableWidgetItem (QStringLiteral("%1").arg(sucheTabelleIndex[i][3])));
ui->tableWidget_Datenbank_ausgabe->item(i, 3)->setTextAlignment(Qt::AlignCenter); ui->tableWidget_Datenbank_ausgabe->item(i, 3)->setTextAlignment(Qt::AlignCenter);
ui->tableWidget_Datenbank_ausgabe->item(i, 3)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);
ui->tableWidget_Datenbank_ausgabe->setItem(i, 4, new QTableWidgetItem (QStringLiteral("%1").arg(sucheTabelleIndex[i][4]))); ui->tableWidget_Datenbank_ausgabe->setItem(i, 4, new QTableWidgetItem (QStringLiteral("%1").arg(sucheTabelleIndex[i][4])));
ui->tableWidget_Datenbank_ausgabe->item(i, 4)->setTextAlignment(Qt::AlignCenter); ui->tableWidget_Datenbank_ausgabe->item(i, 4)->setTextAlignment(Qt::AlignCenter);
ui->tableWidget_Datenbank_ausgabe->item(i, 4)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);
ui->tableWidget_Datenbank_ausgabe->setItem(i, 5, new QTableWidgetItem (QStringLiteral("%1").arg(sucheTabelleIndex[i][5]))); ui->tableWidget_Datenbank_ausgabe->setItem(i, 5, new QTableWidgetItem (QStringLiteral("%1").arg(sucheTabelleIndex[i][5])));
ui->tableWidget_Datenbank_ausgabe->item(i, 5)->setTextAlignment(Qt::AlignCenter); ui->tableWidget_Datenbank_ausgabe->item(i, 5)->setTextAlignment(Qt::AlignCenter);
ui->tableWidget_Datenbank_ausgabe->item(i, 5)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);
ui->tableWidget_Datenbank_ausgabe->setItem(i, 6, new QTableWidgetItem (QStringLiteral("%1").arg(sucheTabelleIndex[i][6]))); ui->tableWidget_Datenbank_ausgabe->setItem(i, 6, new QTableWidgetItem (QStringLiteral("%1").arg(sucheTabelleIndex[i][6])));
ui->tableWidget_Datenbank_ausgabe->item(i, 6)->setTextAlignment(Qt::AlignCenter); ui->tableWidget_Datenbank_ausgabe->item(i, 6)->setTextAlignment(Qt::AlignCenter);
ui->tableWidget_Datenbank_ausgabe->item(i, 6)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);
ui->tableWidget_Datenbank_ausgabe->setItem(i, 7, new QTableWidgetItem (QStringLiteral("%1").arg(sucheTabelleIndex[i][7]))); ui->tableWidget_Datenbank_ausgabe->setItem(i, 7, new QTableWidgetItem (QStringLiteral("%1").arg(sucheTabelleIndex[i][7])));
ui->tableWidget_Datenbank_ausgabe->item(i, 7)->setTextAlignment(Qt::AlignCenter); ui->tableWidget_Datenbank_ausgabe->item(i, 7)->setTextAlignment(Qt::AlignCenter);
ui->tableWidget_Datenbank_ausgabe->item(i, 7)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);
ui->tableWidget_Datenbank_ausgabe->setItem(i, 8, new QTableWidgetItem (QStringLiteral("%1").arg(sucheTabelleIndex[i][8]))); ui->tableWidget_Datenbank_ausgabe->setItem(i, 8, new QTableWidgetItem (QStringLiteral("%1").arg(sucheTabelleIndex[i][8])));
ui->tableWidget_Datenbank_ausgabe->item(i, 8)->setTextAlignment(Qt::AlignCenter); ui->tableWidget_Datenbank_ausgabe->item(i, 8)->setTextAlignment(Qt::AlignCenter);
ui->tableWidget_Datenbank_ausgabe->item(i, 8)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);
if(QFileInfo::exists(sucheTabelleIndex[i][0])){ if(QFileInfo::exists(sucheTabelleIndex[i][0])){
ui->tableWidget_Datenbank_ausgabe->setItem(i, 9, new QTableWidgetItem (QStringLiteral("%1").arg("Ok"))); ui->tableWidget_Datenbank_ausgabe->setItem(i, 9, new QTableWidgetItem (QStringLiteral("%1").arg("Ok")));
ui->tableWidget_Datenbank_ausgabe->item(i, 9)->setTextAlignment(Qt::AlignCenter); ui->tableWidget_Datenbank_ausgabe->item(i, 9)->setTextAlignment(Qt::AlignCenter);
ui->tableWidget_Datenbank_ausgabe->item(i, 9)->setBackground(QBrush(QColor("#88ff88"))); ui->tableWidget_Datenbank_ausgabe->item(i, 9)->setBackground(QBrush(QColor("#88ff88")));
ui->tableWidget_Datenbank_ausgabe->item(i, 9)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);
} else{ } else{
ui->tableWidget_Datenbank_ausgabe->setItem(i, 9, new QTableWidgetItem (QStringLiteral("%1").arg("kein Video"))); ui->tableWidget_Datenbank_ausgabe->setItem(i, 9, new QTableWidgetItem (QStringLiteral("%1").arg("kein Video")));
ui->tableWidget_Datenbank_ausgabe->item(i, 9)->setTextAlignment(Qt::AlignCenter); ui->tableWidget_Datenbank_ausgabe->item(i, 9)->setTextAlignment(Qt::AlignCenter);
ui->tableWidget_Datenbank_ausgabe->item(i, 9)->setBackground(QBrush(QColor("#ff8888"))); ui->tableWidget_Datenbank_ausgabe->item(i, 9)->setBackground(QBrush(QColor("#ff8888")));
ui->tableWidget_Datenbank_ausgabe->item(i, 9)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);
} }
} }
ui->pushButton_max->setText(QString::number(Zeile_max)); ui->pushButton_max->setText(QString::number(Zeile_max));
@ -288,7 +440,11 @@ if(Debug) qDebug() << "on_pushButton_abspielen_clicked";
if(ui->tableWidget_Datenbank_ausgabe->rowCount()<=0) return; if(ui->tableWidget_Datenbank_ausgabe->rowCount()<=0) return;
if(QFileInfo::exists(ui->pushButton_pfad->text())){ if(QFileInfo::exists(ui->pushButton_pfad->text())){
QProcess *explorer = new QProcess; QProcess *explorer = new QProcess;
#ifdef __WIN32__
explorer->start("explorer", {ui->pushButton_pfad->text().replace(QString("/"), QString("\\"))}); explorer->start("explorer", {ui->pushButton_pfad->text().replace(QString("/"), QString("\\"))});
#elif __linux__
explorer->start("xdg-open", {ui->pushButton_pfad->text()});
#endif
} }
ui->statusbar->showMessage("Video abspielen"); ui->statusbar->showMessage("Video abspielen");
if(Debug) qDebug() << "on_pushButton_abspielen_clicked-Ende"; if(Debug) qDebug() << "on_pushButton_abspielen_clicked-Ende";
@ -354,6 +510,28 @@ if(Debug) qDebug() << "on_tableWidget_Datenbank_ausgabe_cellClicked";
} else{ } else{
ui->pushButton_status->setStyleSheet("background-color: #ff8888; border-radius: 3px;"); ui->pushButton_status->setStyleSheet("background-color: #ff8888; border-radius: 3px;");
} }
QStringList Datei_tmp = ui->pushButton_pfad->text().split("/");
QString Datei = Datei_tmp.at(Datei_tmp.length()-1);
QStringList Dateiname_tmp = Datei.split(".");
QString Dateiname;
for(int i=0; i<Dateiname_tmp.length()-1; i++){
if(i<1)
Dateiname = Dateiname + Dateiname_tmp[i];
else
Dateiname = Dateiname + "." + Dateiname_tmp[i];
}
// -> Dateiname
#ifdef __WIN32__
if(QFileInfo::exists(QString("pdf/" + Dateiname + ".pdf"))){
#elif __linux__
if(QFileInfo::exists(QString(".Video-Datenbank/pdf/" + Dateiname + ".pdf"))){
#endif
ui->pushButton_PDF_Status->setStyleSheet("background-color: #88ff88; border-radius: 3px;");
} else{
ui->pushButton_PDF_Status->setStyleSheet("background-color: #ff8888; border-radius: 3px;");
}
} }
if(Debug) qDebug() << "on_tableWidget_Datenbank_ausgabe_cellClicked-Ende"; if(Debug) qDebug() << "on_tableWidget_Datenbank_ausgabe_cellClicked-Ende";
} }
@ -452,8 +630,11 @@ if(Debug) qDebug() << "on_pushButton_bild_clicked";
} }
// id ermitteln ende // id ermitteln ende
fileName = QFileDialog::getOpenFileName(this, tr("Öffne Bild"), "c:", tr("Bild Datei (*.png *.jpg *.gif *.bmp)")); #ifdef __WIN32__
QString fileName = QFileDialog::getOpenFileName(this, tr("Öffne Bild"), "c:", tr("Bild Datei (*.png *.jpg *.gif *.bmp)"));
#elif __linux__
QString fileName = QFileDialog::getOpenFileName(this, tr("Öffne Bild"), "~", tr("Bild Datei (*.png *.jpg *.gif *.bmp)"));
#endif
if(!(fileName=="")){ if(!(fileName=="")){
QFile file(fileName); QFile file(fileName);
if (!file.open(QIODevice::ReadOnly)) return; if (!file.open(QIODevice::ReadOnly)) return;
@ -482,6 +663,221 @@ if(Debug) qDebug() << "on_pushButton_pfad_clicked";
Dateiname = Dateiname + "." + Dateiname_tmp[i]; Dateiname = Dateiname + "." + Dateiname_tmp[i];
} }
ui->lineEdit_titel->setText(Dateiname); ui->lineEdit_titel->setText(Dateiname);
if(Debug) qDebug() << "on_pushButton_pfad_clicked"; if(Debug) qDebug() << "on_pushButton_pfad_clicked-Ende";
} }
void MainWindow::on_pushButton_PDF_speichern_clicked(){
if(Debug) qDebug() << "on_pushButton_PDF_speichern_clicked";
if(ui->pushButton_id->text().toInt() <= 0 || ui->pushButton_id->text().toInt() > ui->pushButton_max->text().toInt()) return;
QStringList Datei_tmp = ui->pushButton_pfad->text().split("/");
QString Datei = Datei_tmp.at(Datei_tmp.length()-1);
QStringList Dateiname_tmp = Datei.split(".");
QString Dateiname;
for(int i=0; i<Dateiname_tmp.length()-1; i++){
if(i<1)
Dateiname = Dateiname + Dateiname_tmp[i];
else
Dateiname = Dateiname + "." + Dateiname_tmp[i];
}
// -> Dateiname
#ifdef __WIN32__
ui->label_bild->grab().save("png/" + Dateiname + ".png");
#elif __linux__
ui->label_bild->grab().save(".Video-Datenbank/png/" + Dateiname + ".png");
#endif
QString html;
#ifdef __WIN32__
html = " \
<html> \
<head> \
<title>Video-Datenbak</title> \
</head> \
<body> \
<table border='0'> \
<tr><td width=10%>&nbsp;</td><td width=55%>&nbsp;</td><td width=35% align='right' rowspan=19><img src='png/" + Dateiname + ".png'></td></tr> \
<tr><td>&nbsp;</td><td>&nbsp;</td></tr> \
<tr><td>&nbsp;</td><td>&nbsp;</td></tr> \
<tr><td>&nbsp;</td><td>&nbsp;</td></tr> \
<tr><td>&nbsp;</td><td>&nbsp;</td></tr> \
<tr><td>&nbsp;</td><td>&nbsp;</td></tr> \
<tr><td>&nbsp;</td><td>&nbsp;</td></tr> \
<tr><td>&nbsp;</td><td>&nbsp;</td></tr> \
<tr><td>&nbsp;</td><td>&nbsp;</td></tr> \
<tr><td>&nbsp;</td><td>&nbsp;</td></tr> \
<tr><td align=right>Pfad :</td><td>" + ui->pushButton_pfad->text() + "</td></tr> \
<tr><td align=right>Titel :</td><td>" + ui->lineEdit_titel->text() + "</td></tr> \
<tr><td align=right>Format :</td><td>" + ui->comboBox_bildformat->currentText() + "</td></tr> \
<tr><td align=right>Typ :</td><td>" + ui->comboBox_filmtyp->currentText() + "</td></tr> \
<tr><td align=right>Teil :</td><td>" + ui->lineEdit_teil->text() + "</td></tr> \
<tr><td align=right>Genre :</td><td>" + ui->comboBox_genre->currentText() + "</td></tr> \
<tr><td align=right>Länge :</td><td>" + ui->lineEdit_laenge->text() + "</td></tr> \
<tr><td align=right>Jahr :</td><td>" + ui->lineEdit_jahr->text() + "</td></tr> \
<tr><td align=right>FSK :</td><td>" + ui->comboBox_fsk->currentText() + "</td></tr> \
</table> \
<br><br><code>" + ui->plainTextEdit_handlung->document()->toRawText() + " </code> \
</body> \
</htnl> \
";
#elif __linux__
html = " \
<html> \
<head> \
<title>Video-Datenbak</title> \
</head> \
<body> \
<table border='0'> \
<tr><td width=7%>&nbsp;</td><td width=58%>&nbsp;</td><td width=35% align='right' rowspan=16><img src='.Video-Datenbank/png/" + Dateiname + ".png'></td></tr> \
<tr><td>&nbsp;</td><td>&nbsp;</td></tr> \
<tr><td>&nbsp;</td><td>&nbsp;</td></tr> \
<tr><td>&nbsp;</td><td>&nbsp;</td></tr> \
<tr><td>&nbsp;</td><td>&nbsp;</td></tr> \
<tr><td>&nbsp;</td><td>&nbsp;</td></tr> \
<tr><td>&nbsp;</td><td>&nbsp;</td></tr> \
<tr><td align=left>&nbsp;</td><td>&nbsp;</td></tr> \
<tr><td align=left>Titel</td><td> : " + ui->lineEdit_titel->text() + "</td></tr> \
<tr><td align=leftt>Format</td><td> : " + ui->comboBox_bildformat->currentText() + "</td></tr> \
<tr><td align=left>Typ</td><td> : " + ui->comboBox_filmtyp->currentText() + "</td></tr> \
<tr><td align=left>Teil</td><td> : " + ui->lineEdit_teil->text() + "</td></tr> \
<tr><td align=left>Genre</td><td> : " + ui->comboBox_genre->currentText() + "</td></tr> \
<tr><td align=left>Länge</td><td> : " + ui->lineEdit_laenge->text() + "</td></tr> \
<tr><td align=left>Jahr</td><td> : " + ui->lineEdit_jahr->text() + "</td></tr> \
<tr><td align=left>FSK</td><td> : " + ui->comboBox_fsk->currentText() + "</td></tr> \
</table> \
<br><br><code>" + ui->plainTextEdit_handlung->document()->toRawText() + " </code> \
</body> \
</htnl> \
";
#endif
QTextDocument doc;
doc.setHtml(html);
QPrinter printer;
#ifdef __WIN32__
printer.setOutputFileName("pdf/" + Dateiname + ".pdf");
#elif __linux__
printer.setOutputFileName(".Video-Datenbank/pdf/" + Dateiname + ".pdf");
#endif
printer.setOutputFormat(QPrinter::PdfFormat);
doc.setPageSize(printer.pageLayout().paintRect().size());
doc.print(&printer);
printer.newPage();
ui->statusbar->showMessage("Daten gespeichert");
int row = ui->tableWidget_Datenbank_ausgabe->currentRow();
on_lineEdit_suchen_textChanged();
on_tableWidget_Datenbank_ausgabe_cellClicked(row, 0);
if(Debug) qDebug() << "on_pushButton_PDF_speichern_clicked-Ende";
}
void MainWindow::on_pushButton_Wikipedia_clicked(){
if(Debug) qDebug() << "on_pushButton_Wikipedia_clicked-Ende";
if(ui->lineEdit_titel->text()==""){
QMessageBox msgBox;
msgBox.setText("Kein Titel zum Suchen!");
msgBox.exec();
return;
}
QNetworkAccessManager manager;
QNetworkReply *reply = manager.get(QNetworkRequest(QUrl("https://de.wikipedia.org/w/api.php?action=query&list=search&srsearch=" + ui->lineEdit_titel->text() +"&srlimit=1&prop=info&inprop=url&utf8=&origin=*&format=json")));
QEventLoop eventLoop;
QObject::connect(&manager, SIGNAL(finished(QNetworkReply*)), &eventLoop, SLOT(quit()));
eventLoop.exec();
QJsonDocument getJD = QJsonDocument::fromJson(reply->readAll());
QJsonObject getJO = getJD.object();
QJsonValue queryJV = getJO.value(QString("query"));
QJsonArray searchJA = queryJV["search"].toArray();
QJsonObject searchJO = searchJA[0].toObject();
QJsonValue titelJV = searchJO.value(QString("title"));
if(titelJV.toString()=="") return;
reply = manager.get(QNetworkRequest(QUrl("https://de.wikipedia.org/w/api.php?action=parse&page=" + titelJV.toString() + "&prop=text&formatversion=2&format=json")));
QObject::connect(&manager, SIGNAL(finished(QNetworkReply*)), &eventLoop, SLOT(quit()));
eventLoop.exec();
getJD = QJsonDocument::fromJson(reply->readAll());
getJO = getJD.object();
QJsonValue parseJV = getJO.value(QString("parse"));
QJsonObject parseJO = parseJV.toObject();
QJsonValue textJV = parseJO.value(QString("text"));
if(textJV.toString()=="") return;
QTextDocument htmlDoc;
htmlDoc.setHtml(textJV.toString());
QMessageBox messageBox;
messageBox.setStyleSheet("QTextEdit{min-width:800 px;height: 500px; min-height: 500px; max-height: 500px;}");
messageBox.deleteLater();
messageBox.setText(titelJV.toString());
//messageBox.setDetailedText(html.remove(QRegExp("<[^>]*>")));
messageBox.setDetailedText(htmlDoc.toRawText());
QAbstractButton *detailsButton = NULL;
foreach (QAbstractButton *button, messageBox.buttons()) {
if (messageBox.buttonRole(button) == QMessageBox::ActionRole) {
detailsButton = button;
break;
}
}
if (detailsButton) {
detailsButton->click();
}
messageBox.exec();
if(Debug) qDebug() << "on_pushButton_Wikipedia_clicked-Ende";
}
void MainWindow::on_pushButton_google_clicked(){
if(Debug) qDebug() << "on_pushButton_google_clicked";
if(ui->lineEdit_titel->text()==""){
QMessageBox msgBox;
msgBox.setText("Kein Titel zum Suchen!");
msgBox.exec();
return;
}
QProcess *explorer = new QProcess;
QString suchen = ui->lineEdit_titel->text().replace(" ", "+");
QString url = "https://www.google.de/search?q=" + suchen + "&tbm=isch";
#ifdef __WIN32__
QDesktopServices::openUrl(QUrl(url));
#elif __linux__
explorer->start("xdg-open", {url});
#endif
ui->statusbar->showMessage("Bilder suchen");
if(Debug) qDebug() << "on_pushButton_google_clicked-Ende";
}
void MainWindow::on_pushButton_imdb_clicked(){
if(Debug) qDebug() << "on_pushButton_imdb_clicked";
if(ui->lineEdit_titel->text()==""){
QMessageBox msgBox;
msgBox.setText("Kein Titel zum Suchen!");
msgBox.exec();
return;
}
QProcess *explorer = new QProcess;
QString suchen = ui->lineEdit_titel->text().replace(" ", "+");
QString url = "https://www.imdb.com/find?q=" + suchen;
#ifdef __WIN32__
QDesktopServices::openUrl(QUrl(url));
#elif __linux__
explorer->start("xdg-open", {url});
#endif
ui->statusbar->showMessage("IMDb suchen");
if(Debug) qDebug() << "on_pushButton_imdb_clicked-Ende";
}
void MainWindow::on_pushButton_ordner_clicked(){
if(Debug) qDebug() << "on_pushButton_on_pushButton_ordner_clicked";
QProcess *explorer = new QProcess;
#ifdef __WIN32__
explorer->start("explorer", {"."});
#elif __linux__
explorer->start("xdg-open", {".Video-Datenbank"});
#endif
ui->statusbar->showMessage("Ordner öffnen");
if(Debug) qDebug() << "on_pushButton_on_pushButton_ordner_clicked-Ende";
}

View file

@ -12,6 +12,16 @@
#include <QDateTime> #include <QDateTime>
#include <QDebug> #include <QDebug>
#include <QTableWidgetItem> #include <QTableWidgetItem>
#include <QPrinter>
#include <QNetworkAccessManager>
#include <QNetworkReply>
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonArray>
#include <QDesktopServices>
#include <QUrl>
#include <QtXml/QDomDocument>
#include <QtXml/QDomNode>
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; } namespace Ui { class MainWindow; }
@ -27,7 +37,8 @@ public:
private slots: private slots:
// Menü // Menü
void on_actionDaten_aktualisieren_triggered(); void on_actionVideopfad_einlesen_triggered();
void on_actionKodi_Daten_einlesen_triggered();
void on_actionDaten_ausgeben_triggered(); void on_actionDaten_ausgeben_triggered();
void on_actionBeenden_triggered(); void on_actionBeenden_triggered();
void on_actionPfad_zu_den_Videos_triggered(); void on_actionPfad_zu_den_Videos_triggered();
@ -39,23 +50,27 @@ private slots:
void on_pushButton_bild_clicked(); void on_pushButton_bild_clicked();
// Suchen // Suchen
void on_lineEdit_suchen_textChanged(); void on_lineEdit_suchen_textChanged();
void on_pushButton_Wikipedia_clicked();
void on_pushButton_google_clicked();
void on_pushButton_imdb_clicked();
// Löschen // Löschen
void on_pushButton_daten_loeschen_clicked(); void on_pushButton_daten_loeschen_clicked();
// Andere // Andere
void on_tableWidget_Datenbank_ausgabe_cellClicked(int row, int column); void on_tableWidget_Datenbank_ausgabe_cellClicked(int row, int column);
//
void on_pushButton_pfad_clicked(); void on_pushButton_pfad_clicked();
void on_pushButton_PDF_speichern_clicked();
void on_pushButton_ordner_clicked();
//
private: private:
void oeffneDatenbank(); void oeffneDatenbank();
void schiesseDatenbank(); void schiesseDatenbank();
void leseVerzeichnis(); void leseVerzeichnis();
int Debug; int Debug;
QString fileName;
QString datenPfad; QString datenPfad;
Ui::MainWindow *ui; Ui::MainWindow *ui;
QSqlDatabase db; QSqlDatabase db;
QSqlQuery query; QSqlQuery query;
QSqlQuery query2;
}; };
#endif // MAINWINDOW_H #endif // MAINWINDOW_H

View file

@ -6,317 +6,424 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>947</width> <width>956</width>
<height>707</height> <height>646</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>MainWindow</string> <string>MainWindow</string>
</property> </property>
<widget class="QWidget" name="centralwidget"> <widget class="QWidget" name="centralwidget">
<layout class="QGridLayout" name="gridLayout_5"> <layout class="QGridLayout" name="gridLayout_2">
<item row="4" column="0">
<widget class="QGroupBox" name="groupBox_Ausgabe">
<property name="title">
<string>Ausgabe</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="2" column="0">
<widget class="QTableWidget" name="tableWidget_Datenbank_ausgabe"/>
</item>
</layout>
</widget>
</item>
<item row="0" column="0"> <item row="0" column="0">
<widget class="QGroupBox" name="groupBox_Videodaten"> <widget class="QGroupBox" name="groupBox_Videodaten">
<property name="title"> <property name="title">
<string>Videodaten</string> <string/>
</property> </property>
<layout class="QGridLayout" name="gridLayout_2"> <layout class="QGridLayout" name="gridLayout_4">
<item row="5" column="7"> <item row="0" column="0" rowspan="3" colspan="2">
<widget class="QLineEdit" name="lineEdit_teil"/> <widget class="QGroupBox" name="groupBox_2">
</item>
<item row="10" column="16" colspan="3">
<widget class="QGroupBox" name="groupBox_3">
<property name="title"> <property name="title">
<string/> <string/>
</property> </property>
<layout class="QGridLayout" name="gridLayout_7"> <layout class="QGridLayout" name="gridLayout">
<item row="0" column="0"> <item row="4" column="1" colspan="13">
<widget class="QPushButton" name="pushButton_status"> <widget class="QLineEdit" name="lineEdit_suchen"/>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_11">
<property name="text"> <property name="text">
<string>Status</string> <string>Suchen</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="1"> <item row="2" column="7">
<widget class="QPushButton" name="pushButton_daten_loeschen"> <widget class="QComboBox" name="comboBox_genre"/>
</item>
<item row="2" column="2">
<widget class="QLabel" name="label_6">
<property name="text"> <property name="text">
<string>Daten löschen</string> <string>Typ</string>
</property> </property>
</widget> </widget>
</item> </item>
</layout> <item row="3" column="0" colspan="14">
</widget> <widget class="QPlainTextEdit" name="plainTextEdit_handlung">
</item>
<item row="5" column="10">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Länge</string>
</property>
</widget>
</item>
<item row="5" column="5">
<widget class="QComboBox" name="comboBox_filmtyp"/>
</item>
<item row="5" column="14">
<widget class="QLabel" name="label_4">
<property name="text">
<string>FSK</string>
</property>
</widget>
</item>
<item row="5" column="11">
<widget class="QLineEdit" name="lineEdit_laenge"/>
</item>
<item row="1" column="16" rowspan="9" colspan="3">
<widget class="QGroupBox" name="groupBox_Bild">
<property name="title">
<string/>
</property>
<layout class="QGridLayout" name="gridLayout_4">
<item row="1" column="0">
<widget class="QPushButton" name="pushButton_bild">
<property name="text">
<string>Bild</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_bild">
<property name="minimumSize"> <property name="minimumSize">
<size>
<width>210</width>
<height>297</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>210</width>
<height>297</height>
</size>
</property>
<property name="baseSize">
<size> <size>
<width>0</width> <width>0</width>
<height>0</height> <height>0</height>
</size> </size>
</property> </property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>200</height>
</size>
</property>
</widget>
</item>
<item row="2" column="3">
<widget class="QComboBox" name="comboBox_filmtyp"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Format</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QComboBox" name="comboBox_bildformat"/>
</item>
<item row="2" column="13">
<widget class="QComboBox" name="comboBox_fsk"/>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<string>Pfad</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Titel</string>
</property>
</widget>
</item>
<item row="2" column="11">
<widget class="QLineEdit" name="lineEdit_jahr"/>
</item>
<item row="2" column="12">
<widget class="QLabel" name="label_4">
<property name="text">
<string>FSK</string>
</property>
</widget>
</item>
<item row="1" column="1" colspan="13">
<widget class="QLineEdit" name="lineEdit_titel"/>
</item>
<item row="2" column="8">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Länge</string>
</property>
</widget>
</item>
<item row="0" column="1" colspan="13">
<widget class="QPushButton" name="pushButton_pfad">
<property name="text"> <property name="text">
<string/> <string/>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="10">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Jahr</string>
</property>
</widget>
</item>
<item row="2" column="9">
<widget class="QLineEdit" name="lineEdit_laenge"/>
</item>
<item row="2" column="5">
<widget class="QLineEdit" name="lineEdit_teil"/>
</item>
<item row="2" column="4">
<widget class="QLabel" name="label">
<property name="text">
<string>Teil</string>
</property>
</widget>
</item>
<item row="2" column="6">
<widget class="QLabel" name="label_10">
<property name="text">
<string>Genre</string>
</property>
</widget>
</item>
<item row="5" column="0" colspan="14">
<widget class="QTableWidget" name="tableWidget_Datenbank_ausgabe"/>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>
<item row="5" column="1"> <item row="1" column="2" rowspan="2">
<widget class="QLabel" name="label_5"> <widget class="QGroupBox" name="groupBox_3">
<property name="text"> <property name="minimumSize">
<string>Format</string> <size>
<width>210</width>
<height>0</height>
</size>
</property> </property>
</widget> <property name="maximumSize">
</item> <size>
<item row="5" column="9"> <width>210</width>
<widget class="QComboBox" name="comboBox_genre"/> <height>16777215</height>
</item> </size>
<item row="4" column="3" colspan="13">
<widget class="QLineEdit" name="lineEdit_titel"/>
</item>
<item row="7" column="0" colspan="16">
<widget class="QPlainTextEdit" name="plainTextEdit_handlung"/>
</item>
<item row="5" column="6">
<widget class="QLabel" name="label">
<property name="text">
<string>Teil</string>
</property> </property>
</widget>
</item>
<item row="5" column="12">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Jahr</string>
</property>
</widget>
</item>
<item row="5" column="15">
<widget class="QComboBox" name="comboBox_fsk"/>
</item>
<item row="4" column="1">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Titel</string>
</property>
</widget>
</item>
<item row="5" column="8">
<widget class="QLabel" name="label_10">
<property name="text">
<string>Genre</string>
</property>
</widget>
</item>
<item row="5" column="4">
<widget class="QLabel" name="label_6">
<property name="text">
<string>Typ</string>
</property>
</widget>
</item>
<item row="10" column="0" colspan="16">
<widget class="QGroupBox" name="groupBox_2">
<property name="title"> <property name="title">
<string/> <string/>
</property> </property>
<layout class="QGridLayout" name="gridLayout_6"> <layout class="QGridLayout" name="gridLayout_5">
<item row="0" column="3"> <property name="leftMargin">
<widget class="QLabel" name="label_9"> <number>0</number>
<property name="text"> </property>
<string>/</string> <property name="topMargin">
</property> <number>0</number>
</widget> </property>
</item> <property name="rightMargin">
<item row="0" column="1"> <number>0</number>
<widget class="QPushButton" name="pushButton_minus"> </property>
<property name="text">
<string>&lt;</string>
</property>
</widget>
</item>
<item row="0" column="7">
<widget class="QPushButton" name="pushButton_abspielen">
<property name="text">
<string>Abspielen</string>
</property>
</widget>
</item>
<item row="0" column="8">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="6">
<widget class="QPushButton" name="pushButton_speichern">
<property name="text">
<string>Speichern</string>
</property>
</widget>
</item>
<item row="0" column="0"> <item row="0" column="0">
<spacer name="horizontalSpacer"> <widget class="QGroupBox" name="groupBox">
<property name="enabled">
<bool>true</bool>
</property>
<property name="title">
<string/>
</property>
<property name="flat">
<bool>false</bool>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="1" column="0">
<widget class="QPushButton" name="pushButton_minus">
<property name="minimumSize">
<size>
<width>42</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>42</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>&lt;</string>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QPushButton" name="pushButton_max">
<property name="minimumSize">
<size>
<width>42</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>70</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="1" column="4">
<widget class="QPushButton" name="pushButton_plus">
<property name="minimumSize">
<size>
<width>42</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>42</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>&gt;</string>
</property>
</widget>
</item>
<item row="5" column="0" colspan="2">
<widget class="QPushButton" name="pushButton_Wikipedia">
<property name="text">
<string>Wikipedia</string>
</property>
</widget>
</item>
<item row="2" column="2" colspan="4">
<widget class="QPushButton" name="pushButton_abspielen">
<property name="text">
<string>Abspielen</string>
</property>
</widget>
</item>
<item row="3" column="0" colspan="2">
<widget class="QPushButton" name="pushButton_status">
<property name="text">
<string>Film</string>
</property>
</widget>
</item>
<item row="4" column="0" colspan="2">
<widget class="QPushButton" name="pushButton_PDF_Status">
<property name="text">
<string>PDF</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QLabel" name="label_9">
<property name="text">
<string>/</string>
</property>
</widget>
</item>
<item row="0" column="0" colspan="6">
<widget class="QPushButton" name="pushButton_bild">
<property name="text">
<string>Bild</string>
</property>
</widget>
</item>
<item row="5" column="2" colspan="4">
<widget class="QPushButton" name="pushButton_google">
<property name="text">
<string>Google Bilder</string>
</property>
</widget>
</item>
<item row="4" column="2" colspan="4">
<widget class="QPushButton" name="pushButton_PDF_speichern">
<property name="text">
<string>PDF speichern</string>
</property>
</widget>
</item>
<item row="3" column="2" colspan="4">
<widget class="QPushButton" name="pushButton_daten_loeschen">
<property name="text">
<string>Daten löschen</string>
</property>
</widget>
</item>
<item row="2" column="0" colspan="2">
<widget class="QPushButton" name="pushButton_speichern">
<property name="text">
<string>Speichern</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="pushButton_id">
<property name="minimumSize">
<size>
<width>42</width>
<height>23</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>70</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="6" column="0" colspan="2">
<widget class="QPushButton" name="pushButton_imdb">
<property name="text">
<string>IMDb</string>
</property>
</widget>
</item>
<item row="6" column="2" colspan="4">
<widget class="QPushButton" name="pushButton_ordner">
<property name="text">
<string>Datenordner</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="1" column="0">
<spacer name="verticalSpacer">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Vertical</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>20</width>
<height>20</height> <height>40</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="0" column="4">
<widget class="QPushButton" name="pushButton_max">
<property name="minimumSize">
<size>
<width>75</width>
<height>23</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>75</width>
<height>23</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QPushButton" name="pushButton_id">
<property name="minimumSize">
<size>
<width>75</width>
<height>23</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>75</width>
<height>23</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="0" column="5">
<widget class="QPushButton" name="pushButton_plus">
<property name="text">
<string>&gt;</string>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>
<item row="5" column="3"> <item row="0" column="2">
<widget class="QComboBox" name="comboBox_bildformat"/> <widget class="QGroupBox" name="groupBox_4">
</item> <property name="minimumSize">
<item row="5" column="13"> <size>
<widget class="QLineEdit" name="lineEdit_jahr"/> <width>210</width>
</item> <height>297</height>
<item row="3" column="1"> </size>
<widget class="QLabel" name="label_8">
<property name="text">
<string>Pfad</string>
</property> </property>
</widget> <property name="maximumSize">
</item> <size>
<item row="3" column="3" colspan="13"> <width>210</width>
<widget class="QPushButton" name="pushButton_pfad"> <height>297</height>
<property name="text"> </size>
</property>
<property name="title">
<string/> <string/>
</property> </property>
<widget class="QLabel" name="label_bild">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>210</width>
<height>297</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>210</width>
<height>297</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>210</width>
<height>297</height>
</size>
</property>
<property name="baseSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</widget> </widget>
</item> </item>
</layout> </layout>
</widget> </widget>
</item> </item>
<item row="2" column="0">
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Suchen</string>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0">
<widget class="QLineEdit" name="lineEdit_suchen"/>
</item>
</layout>
</widget>
</item>
</layout> </layout>
</widget> </widget>
<widget class="QMenuBar" name="menubar"> <widget class="QMenuBar" name="menubar">
@ -324,7 +431,7 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>947</width> <width>956</width>
<height>21</height> <height>21</height>
</rect> </rect>
</property> </property>
@ -332,7 +439,14 @@
<property name="title"> <property name="title">
<string>Datei</string> <string>Datei</string>
</property> </property>
<addaction name="actionDaten_aktualisieren"/> <widget class="QMenu" name="menuDaten_aktualisieren">
<property name="title">
<string>Daten aktualisieren</string>
</property>
<addaction name="actionVideopfad_einlesen"/>
<addaction name="actionKodi_Daten_einlesen"/>
</widget>
<addaction name="menuDaten_aktualisieren"/>
<addaction name="actionDaten_ausgeben"/> <addaction name="actionDaten_ausgeben"/>
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="actionBeenden"/> <addaction name="actionBeenden"/>
@ -347,11 +461,6 @@
<addaction name="menuEinstellungen"/> <addaction name="menuEinstellungen"/>
</widget> </widget>
<widget class="QStatusBar" name="statusbar"/> <widget class="QStatusBar" name="statusbar"/>
<action name="actionDaten_aktualisieren">
<property name="text">
<string>Daten aktualisieren</string>
</property>
</action>
<action name="actionDaten_ausgeben"> <action name="actionDaten_ausgeben">
<property name="text"> <property name="text">
<string>Daten ausgeben</string> <string>Daten ausgeben</string>
@ -367,6 +476,16 @@
<string>Beenden</string> <string>Beenden</string>
</property> </property>
</action> </action>
<action name="actionVideopfad_einlesen">
<property name="text">
<string>Videopfad einlesen</string>
</property>
</action>
<action name="actionKodi_Daten_einlesen">
<property name="text">
<string>Kodi Daten einlesen</string>
</property>
</action>
</widget> </widget>
<resources/> <resources/>
<connections/> <connections/>

11
source.txt Normal file
View file

@ -0,0 +1,11 @@
https://openclipart.org/detail/212130/wmmaker
Programmsymbol: sixsixfive (openclipart.org)
Remix: aer66 (created june 2022)
Creative Commons Zero 1.0 Public Domain License
creativecommons.org/publicdomain/zero/1.0
rodentia-icons_wmmaker
uploaded on January 10, 2015, 4:15 pm
an old rodentia icon theme once made for xfce, also keep in mind that it was based on a fixed color palette!
Safe for Work? Yes