Add a simple database console.
This commit is contained in:
parent
896a8739e9
commit
8887460cc7
@ -309,6 +309,7 @@ set(SOURCES
|
|||||||
ui/appearancesettingspage.cpp
|
ui/appearancesettingspage.cpp
|
||||||
ui/backgroundstreamssettingspage.cpp
|
ui/backgroundstreamssettingspage.cpp
|
||||||
ui/behavioursettingspage.cpp
|
ui/behavioursettingspage.cpp
|
||||||
|
ui/console.cpp
|
||||||
ui/coverfromurldialog.cpp
|
ui/coverfromurldialog.cpp
|
||||||
ui/edittagdialog.cpp
|
ui/edittagdialog.cpp
|
||||||
ui/equalizer.cpp
|
ui/equalizer.cpp
|
||||||
@ -562,6 +563,7 @@ set(HEADERS
|
|||||||
ui/appearancesettingspage.h
|
ui/appearancesettingspage.h
|
||||||
ui/backgroundstreamssettingspage.h
|
ui/backgroundstreamssettingspage.h
|
||||||
ui/behavioursettingspage.h
|
ui/behavioursettingspage.h
|
||||||
|
ui/console.h
|
||||||
ui/coverfromurldialog.h
|
ui/coverfromurldialog.h
|
||||||
ui/edittagdialog.h
|
ui/edittagdialog.h
|
||||||
ui/equalizer.h
|
ui/equalizer.h
|
||||||
@ -677,6 +679,7 @@ set(UI
|
|||||||
ui/appearancesettingspage.ui
|
ui/appearancesettingspage.ui
|
||||||
ui/backgroundstreamssettingspage.ui
|
ui/backgroundstreamssettingspage.ui
|
||||||
ui/behavioursettingspage.ui
|
ui/behavioursettingspage.ui
|
||||||
|
ui/console.ui
|
||||||
ui/coverfromurldialog.ui
|
ui/coverfromurldialog.ui
|
||||||
ui/edittagdialog.ui
|
ui/edittagdialog.ui
|
||||||
ui/equalizer.ui
|
ui/equalizer.ui
|
||||||
|
44
src/ui/console.cpp
Normal file
44
src/ui/console.cpp
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
#include "console.h"
|
||||||
|
|
||||||
|
#include <QFont>
|
||||||
|
#include <QSqlDatabase>
|
||||||
|
#include <QSqlQuery>
|
||||||
|
#include <QSqlRecord>
|
||||||
|
|
||||||
|
#include "core/application.h"
|
||||||
|
#include "core/database.h"
|
||||||
|
|
||||||
|
Console::Console(Application* app, QWidget* parent)
|
||||||
|
: QDialog(parent),
|
||||||
|
app_(app) {
|
||||||
|
ui_.setupUi(this);
|
||||||
|
connect(ui_.run, SIGNAL(clicked()), SLOT(RunQuery()));
|
||||||
|
|
||||||
|
QFont font("Monospace");
|
||||||
|
font.setStyleHint(QFont::TypeWriter);
|
||||||
|
|
||||||
|
ui_.output->setFont(font);
|
||||||
|
ui_.query->setFont(font);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Console::RunQuery() {
|
||||||
|
QSqlDatabase db = app_->database()->Connect();
|
||||||
|
QSqlQuery query = db.exec(ui_.query->text());
|
||||||
|
ui_.query->clear();
|
||||||
|
|
||||||
|
ui_.output->append("<b>> " + query.executedQuery() + "</b>");
|
||||||
|
|
||||||
|
query.next();
|
||||||
|
|
||||||
|
while (query.isValid()) {
|
||||||
|
QSqlRecord record = query.record();
|
||||||
|
QStringList values;
|
||||||
|
for (int i = 0; i < record.count(); ++i) {
|
||||||
|
values.append(record.value(i).toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
ui_.output->append(values.join("|"));
|
||||||
|
|
||||||
|
query.next();
|
||||||
|
}
|
||||||
|
}
|
23
src/ui/console.h
Normal file
23
src/ui/console.h
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
#ifndef CONSOLE_H
|
||||||
|
#define CONSOLE_H
|
||||||
|
|
||||||
|
#include <QDialog>
|
||||||
|
|
||||||
|
#include "ui_console.h"
|
||||||
|
|
||||||
|
class Application;
|
||||||
|
|
||||||
|
class Console : public QDialog {
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
Console(Application* app, QWidget* parent = 0);
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void RunQuery();
|
||||||
|
|
||||||
|
private:
|
||||||
|
Ui::Console ui_;
|
||||||
|
Application* app_;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // CONSOLE_H
|
68
src/ui/console.ui
Normal file
68
src/ui/console.ui
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>Console</class>
|
||||||
|
<widget class="QDialog" name="Dialog">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>455</width>
|
||||||
|
<height>323</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Console</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QFormLayout" name="formLayout">
|
||||||
|
<item row="0" column="0" colspan="2">
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QTextBrowser" name="output"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer">
|
||||||
|
<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>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="query"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="verticalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>40</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="run">
|
||||||
|
<property name="text">
|
||||||
|
<string>Run</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
@ -74,6 +74,7 @@
|
|||||||
#include "ui/about.h"
|
#include "ui/about.h"
|
||||||
#include "ui/addstreamdialog.h"
|
#include "ui/addstreamdialog.h"
|
||||||
#include "ui/albumcovermanager.h"
|
#include "ui/albumcovermanager.h"
|
||||||
|
#include "ui/console.h"
|
||||||
#include "ui/edittagdialog.h"
|
#include "ui/edittagdialog.h"
|
||||||
#include "ui/equalizer.h"
|
#include "ui/equalizer.h"
|
||||||
#include "ui/iconloader.h"
|
#include "ui/iconloader.h"
|
||||||
@ -653,6 +654,7 @@ MainWindow::MainWindow(Application* app,
|
|||||||
SLOT(NowPlayingWidgetPositionChanged(bool)));
|
SLOT(NowPlayingWidgetPositionChanged(bool)));
|
||||||
connect(ui_->action_hypnotoad, SIGNAL(toggled(bool)), ui_->now_playing, SLOT(AllHail(bool)));
|
connect(ui_->action_hypnotoad, SIGNAL(toggled(bool)), ui_->now_playing, SLOT(AllHail(bool)));
|
||||||
connect(ui_->action_kittens, SIGNAL(toggled(bool)), ui_->now_playing, SLOT(EnableKittens(bool)));
|
connect(ui_->action_kittens, SIGNAL(toggled(bool)), ui_->now_playing, SLOT(EnableKittens(bool)));
|
||||||
|
connect(ui_->action_console, SIGNAL(triggered()), SLOT(ShowConsole()));
|
||||||
NowPlayingWidgetPositionChanged(ui_->now_playing->show_above_status_bar());
|
NowPlayingWidgetPositionChanged(ui_->now_playing->show_above_status_bar());
|
||||||
|
|
||||||
// Load theme
|
// Load theme
|
||||||
@ -2257,3 +2259,8 @@ void MainWindow::DoGlobalSearch(const QString& query) {
|
|||||||
FocusGlobalSearchField();
|
FocusGlobalSearchField();
|
||||||
global_search_view_->StartSearch(query);
|
global_search_view_->StartSearch(query);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainWindow::ShowConsole() {
|
||||||
|
Console* console = new Console(app_, this);
|
||||||
|
console->show();
|
||||||
|
}
|
||||||
|
@ -252,6 +252,8 @@ class MainWindow : public QMainWindow, public PlatformInterface {
|
|||||||
void FocusGlobalSearchField();
|
void FocusGlobalSearchField();
|
||||||
void DoGlobalSearch(const QString& query);
|
void DoGlobalSearch(const QString& query);
|
||||||
|
|
||||||
|
void ShowConsole();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void ConnectInfoView(SongInfoBase* view);
|
void ConnectInfoView(SongInfoBase* view);
|
||||||
|
|
||||||
|
@ -474,6 +474,7 @@
|
|||||||
<addaction name="action_hypnotoad"/>
|
<addaction name="action_hypnotoad"/>
|
||||||
<addaction name="action_enterprise"/>
|
<addaction name="action_enterprise"/>
|
||||||
<addaction name="action_kittens"/>
|
<addaction name="action_kittens"/>
|
||||||
|
<addaction name="action_console"/>
|
||||||
<addaction name="separator"/>
|
<addaction name="separator"/>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QMenu" name="menu_tools">
|
<widget class="QMenu" name="menu_tools">
|
||||||
@ -711,6 +712,11 @@
|
|||||||
<string comment="Label for buton to enable/disable kittens in the now playing widget">Kittens</string>
|
<string comment="Label for buton to enable/disable kittens in the now playing widget">Kittens</string>
|
||||||
</property>
|
</property>
|
||||||
</action>
|
</action>
|
||||||
|
<action name="action_console">
|
||||||
|
<property name="text">
|
||||||
|
<string>Console</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
<action name="action_shuffle_mode">
|
<action name="action_shuffle_mode">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>&Shuffle mode</string>
|
<string>&Shuffle mode</string>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user