Add a simple database console.
This commit is contained in:
parent
896a8739e9
commit
8887460cc7
@ -309,6 +309,7 @@ set(SOURCES
|
||||
ui/appearancesettingspage.cpp
|
||||
ui/backgroundstreamssettingspage.cpp
|
||||
ui/behavioursettingspage.cpp
|
||||
ui/console.cpp
|
||||
ui/coverfromurldialog.cpp
|
||||
ui/edittagdialog.cpp
|
||||
ui/equalizer.cpp
|
||||
@ -562,6 +563,7 @@ set(HEADERS
|
||||
ui/appearancesettingspage.h
|
||||
ui/backgroundstreamssettingspage.h
|
||||
ui/behavioursettingspage.h
|
||||
ui/console.h
|
||||
ui/coverfromurldialog.h
|
||||
ui/edittagdialog.h
|
||||
ui/equalizer.h
|
||||
@ -677,6 +679,7 @@ set(UI
|
||||
ui/appearancesettingspage.ui
|
||||
ui/backgroundstreamssettingspage.ui
|
||||
ui/behavioursettingspage.ui
|
||||
ui/console.ui
|
||||
ui/coverfromurldialog.ui
|
||||
ui/edittagdialog.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/addstreamdialog.h"
|
||||
#include "ui/albumcovermanager.h"
|
||||
#include "ui/console.h"
|
||||
#include "ui/edittagdialog.h"
|
||||
#include "ui/equalizer.h"
|
||||
#include "ui/iconloader.h"
|
||||
@ -653,6 +654,7 @@ MainWindow::MainWindow(Application* app,
|
||||
SLOT(NowPlayingWidgetPositionChanged(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_console, SIGNAL(triggered()), SLOT(ShowConsole()));
|
||||
NowPlayingWidgetPositionChanged(ui_->now_playing->show_above_status_bar());
|
||||
|
||||
// Load theme
|
||||
@ -2257,3 +2259,8 @@ void MainWindow::DoGlobalSearch(const QString& query) {
|
||||
FocusGlobalSearchField();
|
||||
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 DoGlobalSearch(const QString& query);
|
||||
|
||||
void ShowConsole();
|
||||
|
||||
private:
|
||||
void ConnectInfoView(SongInfoBase* view);
|
||||
|
||||
|
@ -474,6 +474,7 @@
|
||||
<addaction name="action_hypnotoad"/>
|
||||
<addaction name="action_enterprise"/>
|
||||
<addaction name="action_kittens"/>
|
||||
<addaction name="action_console"/>
|
||||
<addaction name="separator"/>
|
||||
</widget>
|
||||
<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>
|
||||
</property>
|
||||
</action>
|
||||
<action name="action_console">
|
||||
<property name="text">
|
||||
<string>Console</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="action_shuffle_mode">
|
||||
<property name="text">
|
||||
<string>&Shuffle mode</string>
|
||||
|
Loading…
x
Reference in New Issue
Block a user