Several fixes for compilation with gcc (doesn't link)
This commit is contained in:
parent
a2f39692a2
commit
dd9906dbd8
20 changed files with 379 additions and 262 deletions
|
|
@ -58,13 +58,13 @@ BackupFormatModel::BackupFormatModel(QObject *parent)
|
|||
//}
|
||||
|
||||
|
||||
int BackupFormatModel::rowCount(const QModelIndex &parent) const
|
||||
int BackupFormatModel::rowCount(const QModelIndex &) const
|
||||
{
|
||||
int size = g_BackupFormats.size();
|
||||
return size;
|
||||
}
|
||||
|
||||
int BackupFormatModel::columnCount(const QModelIndex &parent) const
|
||||
int BackupFormatModel::columnCount(const QModelIndex &) const
|
||||
{
|
||||
return 3;
|
||||
|
||||
|
|
@ -80,13 +80,13 @@ QVariant BackupFormatModel::data(const QModelIndex &index, int role) const
|
|||
if (role == Qt::DisplayRole) {
|
||||
const auto &item = g_BackupFormats.at(row);
|
||||
switch (col) {
|
||||
case Column::Short:
|
||||
case ColumnShort:
|
||||
result = item.shortFlag;
|
||||
break;
|
||||
case Column::Long:
|
||||
case ColumnLong:
|
||||
result = item.longFlag;
|
||||
break;
|
||||
case Column::Description:
|
||||
case ColumnDescription:
|
||||
result = item.description;
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ class BackupFormatModel : public QAbstractListModel
|
|||
Q_OBJECT
|
||||
|
||||
public:
|
||||
enum class Column { Short=1, Long=0, Description=2 };
|
||||
enum Column { ColumnShort=1, ColumnLong=0, ColumnDescription=2 };
|
||||
|
||||
explicit BackupFormatModel(QObject *parent);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
#ifndef EXPECTED_H
|
||||
#define EXPECTED_H
|
||||
|
||||
#include <exception>
|
||||
#include <stdexcept>
|
||||
#include <typeinfo>
|
||||
#include <utility>
|
||||
|
||||
template <typename T>
|
||||
class Expected {
|
||||
|
|
@ -168,13 +170,13 @@ public:
|
|||
|
||||
|
||||
Expected(const Expected& rhs)
|
||||
: m_valid(rhs.m_valid)
|
||||
, m_error(rhs.m_error)
|
||||
: m_error(rhs.m_error)
|
||||
, m_valid(rhs.m_valid)
|
||||
{}
|
||||
|
||||
Expected(Expected<void> &&rhs)
|
||||
: m_valid(rhs.m_valid)
|
||||
, m_error(std::move(rhs.m_error))
|
||||
: m_error(std::move(rhs.m_error))
|
||||
, m_valid(rhs.m_valid)
|
||||
{}
|
||||
|
||||
~Expected()
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@ QT -= gui
|
|||
|
||||
TARGET = core
|
||||
TEMPLATE = lib
|
||||
CONFIG += staticlib c++11
|
||||
CONFIG += staticlib c++14
|
||||
|
||||
INCLUDEPATH += C:\prog\include C:\VSproj\boost_1_63_0
|
||||
DEFINES += WIN32_LEAN_AND_MEAN NOMINMAX
|
||||
LIBS += /LIBPATH:C:\VSproj\boost_1_63_0\stage\lib /LIBPATH:c:\prog\lib\ libpq.lib fmt.lib User32.lib ws2_32.lib
|
||||
#LIBS += /LIBPATH:C:\VSproj\boost_1_63_0\stage\lib /LIBPATH:c:\prog\lib\ libpq.lib fmt.lib User32.lib ws2_32.lib
|
||||
|
||||
|
||||
# The following define makes your compiler emit warnings if you use
|
||||
|
|
|
|||
|
|
@ -9,6 +9,8 @@
|
|||
#include <QScrollBar>
|
||||
#include <QStandardPaths>
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
BackupDialog::BackupDialog(QWidget *parent) :
|
||||
QDialog(parent),
|
||||
ui(new Ui::BackupDialog)
|
||||
|
|
@ -81,7 +83,7 @@ void BackupDialog::on_process_errorOccurred(QProcess::ProcessError error)
|
|||
msg = tr("Failed to start");
|
||||
break;
|
||||
case 1:
|
||||
msg = tr("Crasged");
|
||||
msg = tr("Crashed");
|
||||
break;
|
||||
case 2:
|
||||
msg = tr("Timedout");
|
||||
|
|
@ -175,6 +177,50 @@ void BackupDialog::on_btnStart_clicked()
|
|||
setParams(arguments);
|
||||
|
||||
|
||||
// BOOL res = AllocConsole();
|
||||
// if (!res) {
|
||||
// DWORD error = GetLastError();
|
||||
// QMessageBox::critical(this, "pglab", tr("AllocConsole failed %1").arg(error), QMessageBox::Close);
|
||||
// }
|
||||
// HANDLE out = GetStdHandle(STD_OUTPUT_HANDLE);
|
||||
// DWORD written;
|
||||
// res = WriteConsoleOutputCharacter(out, L"Hello, world!\n", 14, {0, 0}, &written);
|
||||
|
||||
// PROCESS_INFORMATION proc_info;
|
||||
// STARTUPINFO startup_info;
|
||||
// memset(&startup_info, 0, sizeof(startup_info));
|
||||
// startup_info.cb = sizeof(startup_info);
|
||||
// startup_info.lpReserved;
|
||||
// startup_info.lpDesktop;
|
||||
// startup_info.lpTitle;
|
||||
// startup_info.dwX;
|
||||
// startup_info.dwY;
|
||||
// startup_info.dwXSize;
|
||||
// startup_info.dwYSize;
|
||||
// startup_info.dwXCountChars;
|
||||
// startup_info.dwYCountChars;
|
||||
// startup_info.dwFillAttribute;
|
||||
// startup_info.dwFlags = STARTF_USESTDHANDLES;
|
||||
// startup_info.wShowWindow;
|
||||
// startup_info.cbReserved2;
|
||||
// startup_info.lpReserved2;
|
||||
// startup_info.hStdInput = GetStdHandle(STD_INPUT_HANDLE);
|
||||
// startup_info.hStdOutput = GetStdHandle(STD_OUTPUT_HANDLE);
|
||||
// startup_info.hStdError = GetStdHandle(STD_ERROR_HANDLE);
|
||||
// res = CreateProcess(
|
||||
// LR"_(C:\Prog\build-conoutputtest-Desktop_Qt_5_8_0_MSVC2015_32bit2-Debug\debug\conoutputtest.exe)_",
|
||||
// NULL, // _Inout_opt_ LPTSTR lpCommandLine,
|
||||
// NULL, // _In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes,
|
||||
// NULL, // _In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes,
|
||||
// TRUE,
|
||||
// 0, // _In_ DWORD dwCreationFlags,
|
||||
// NULL, // _In_opt_ LPVOID lpEnvironment,
|
||||
// NULL, // _In_opt_ LPCTSTR lpCurrentDirectory,
|
||||
// &startup_info, // _In_ LPSTARTUPINFO lpStartupInfo,
|
||||
// &proc_info // _Out_ LPPROCESS_INFORMATION lpProcessInformation
|
||||
// );
|
||||
|
||||
|
||||
// QString program = R"_(C:\prog\build-conoutputtest-Desktop_Qt_5_8_0_MSVC2015_32bit2-Debug\debug\conoutputtest.exe)_";
|
||||
// QStringList arguments;
|
||||
// arguments << "/C" << "DIR /S c:\\";
|
||||
|
|
@ -188,6 +234,13 @@ void BackupDialog::on_btnStart_clicked()
|
|||
auto p = new QProcess(this);
|
||||
ConnectTo(p);
|
||||
p->setProcessEnvironment(env);
|
||||
|
||||
p->setCreateProcessArgumentsModifier([] (QProcess::CreateProcessArguments *args)
|
||||
{
|
||||
args->flags |= CREATE_NEW_CONSOLE;
|
||||
args->flags &= ~DETACHED_PROCESS;
|
||||
args->startupInfo->dwFlags &= ~STARTF_USESTDHANDLES;
|
||||
});
|
||||
p->start(program, arguments);
|
||||
}
|
||||
|
||||
|
|
@ -221,3 +274,4 @@ void BackupDialog::on_selectDestination_clicked()
|
|||
ui->editFilename->setText(QDir::toNativeSeparators(fn));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -78,6 +78,8 @@ void DatabaseWindow::connectionStateChanged(ASyncDBConnection::State state)
|
|||
case ASyncDBConnection::State::CancelSend:
|
||||
status_str = tr("Query geannuleerd");
|
||||
break;
|
||||
case ASyncDBConnection::State::Terminating:
|
||||
break;
|
||||
}
|
||||
// addLog(status_str);
|
||||
statusBar()->showMessage(status_str);
|
||||
|
|
|
|||
|
|
@ -26,16 +26,16 @@ void PgAuthIdContainer::load(const Pgsql::Result &res)
|
|||
bool with_rls = (m_catalogue->serverVersion() >= 90500);
|
||||
for (auto row : res) {
|
||||
PgAuthId v;
|
||||
v.oid = row.get(0); // InvalidOid;
|
||||
v.name = row.get(1);
|
||||
v.super = row.get(2);
|
||||
v.inherit = row.get(3);
|
||||
v.createRole = row.get(4);
|
||||
v.createDB = row.get(5);
|
||||
v.canlogin = row.get(6);
|
||||
v.replication = row.get(7);
|
||||
v.connLimit = row.get(8);
|
||||
v.validUntil = row.get(9);
|
||||
v.oid << row.get(0); // InvalidOid;
|
||||
v.name << row.get(1);
|
||||
v.super << row.get(2);
|
||||
v.inherit << row.get(3);
|
||||
v.createRole << row.get(4);
|
||||
v.createDB << row.get(5);
|
||||
v.canlogin << row.get(6);
|
||||
v.replication << row.get(7);
|
||||
v.connLimit << row.get(8);
|
||||
v.validUntil << row.get(9);
|
||||
v.bypassRls = with_rls ? (bool)row.get(10) : false;
|
||||
// QDateTime
|
||||
m_container.push_back(v);
|
||||
|
|
|
|||
|
|
@ -18,17 +18,17 @@ void PgDatabaseContainer::load(const Pgsql::Result &res)
|
|||
m_container.reserve(n_rows);
|
||||
for (auto row : res) {
|
||||
PgDatabase v;
|
||||
v.oid = row.get(0); // InvalidOid;
|
||||
v.name = row.get(1);
|
||||
v.dba = row.get(2); // owner?
|
||||
v.encoding = row.get(3);
|
||||
v.collate = row.get(4);
|
||||
v.ctype = row.get(5);
|
||||
v.isTemplate = row.get(6);
|
||||
v.allowConn = row.get(7);
|
||||
v.connLimit = row.get(8);
|
||||
v.tablespace = row.get(9);
|
||||
v.acl = row.get(10);
|
||||
v.oid << row.get(0); // InvalidOid;
|
||||
v.name << row.get(1);
|
||||
v.dba << row.get(2); // owner?
|
||||
v.encoding << row.get(3);
|
||||
v.collate << row.get(4);
|
||||
v.ctype << row.get(5);
|
||||
v.isTemplate << row.get(6);
|
||||
v.allowConn << row.get(7);
|
||||
v.connLimit << row.get(8);
|
||||
v.tablespace << row.get(9);
|
||||
v.acl << row.get(10);
|
||||
m_container.push_back(v);
|
||||
}
|
||||
std::sort(m_container.begin(), m_container.end());
|
||||
|
|
|
|||
|
|
@ -48,37 +48,37 @@ void PgTypeContainer::load(const Pgsql::Result &res)
|
|||
m_container.reserve(n_rows);
|
||||
for (auto row : res) {
|
||||
PgType v;
|
||||
v.oid = row.get(0); // InvalidOid;
|
||||
v.typname = row.get(1); //.asQString(); //. operator QString(); // "name";"NO"
|
||||
v.typnamespace = row.get(2); // InvalidOid;//"oid";"NO"
|
||||
v.typowner = row.get(3); // InvalidOid;//"oid";"NO"
|
||||
v.typlen = row.get(4); // -1;//"smallint";"NO"
|
||||
v.typbyval = row.get(5); // false;//"boolean";"NO"
|
||||
v.typtype = row.get(6);//""char"";"NO"
|
||||
v.typcategory = row.get(7);//""char"";"NO"
|
||||
v.typispreferred = row.get(8); //false;//"boolean";"NO"
|
||||
v.typisdefined = row.get(9); //false;//"boolean";"NO"
|
||||
v.typdelim = row.get(10); //""char"";"NO"
|
||||
v.typrelid = row.get(11); // InvalidOid;//"oid";"NO"
|
||||
v.typelem = row.get(12); // InvalidOid;//"oid";"NO"
|
||||
v.typarray = row.get(13); // InvalidOid;//"oid";"NO"
|
||||
v.typinput = row.get(14).asQString();//regproc";"NO"
|
||||
v.typoutput = row.get(15).asQString();//"regproc";"NO"
|
||||
v.typreceive = row.get(16).asQString();//"regproc";"NO"
|
||||
v.typsend = row.get(17).asQString();//"regproc";"NO"
|
||||
v.typmodin = row.get(18).asQString();//"regproc";"NO"
|
||||
v.typmodout = row.get(19).asQString();//"regproc";"NO"
|
||||
v.typanalyze = row.get(20).asQString();//"regproc";"NO"
|
||||
v.typalign = row.get(21); // //""char"";"NO"
|
||||
v.typstorage = row.get(22); //""char"";"NO"
|
||||
v.typnotnull = row.get(23); //"boolean";"NO"
|
||||
v.typbasetype = row.get(24); //"oid";"NO"
|
||||
v.typtypmod = row.get(25); //-1;//"integer";"NO"
|
||||
v.typndims = row.get(26); //"integer";"NO"
|
||||
v.typcollation = row.get(27); //InvalidOid;//"oid";"NO"
|
||||
v.typdefaultbin = row.get(28).asQString();//"pg_node_tree";"YES"
|
||||
v.typdefault = row.get(29).asQString();//"text";"YES"
|
||||
v.typacl = row.get(30).asQString();//"ARRAY";"YES"
|
||||
v.oid << row.get(0); // InvalidOid;
|
||||
v.typname << row.get(1); //. operator QString(); // "name";"NO"
|
||||
v.typnamespace << row.get(2); // InvalidOid;//"oid";"NO"
|
||||
v.typowner << row.get(3); // InvalidOid;//"oid";"NO"
|
||||
v.typlen << row.get(4); // -1;//"smallint";"NO"
|
||||
v.typbyval << row.get(5); // false;//"boolean";"NO"
|
||||
v.typtype << row.get(6);//""char"";"NO"
|
||||
v.typcategory << row.get(7);//""char"";"NO"
|
||||
v.typispreferred << row.get(8); //false;//"boolean";"NO"
|
||||
v.typisdefined << row.get(9); //false;//"boolean";"NO"
|
||||
v.typdelim << row.get(10); //""char"";"NO"
|
||||
v.typrelid << row.get(11); // InvalidOid;//"oid";"NO"
|
||||
v.typelem << row.get(12); // InvalidOid;//"oid";"NO"
|
||||
v.typarray << row.get(13); // InvalidOid;//"oid";"NO"
|
||||
v.typinput << row.get(14);//regproc";"NO"
|
||||
v.typoutput << row.get(15);//"regproc";"NO"
|
||||
v.typreceive << row.get(16);//"regproc";"NO"
|
||||
v.typsend << row.get(17);//"regproc";"NO"
|
||||
v.typmodin << row.get(18);//"regproc";"NO"
|
||||
v.typmodout << row.get(19);//"regproc";"NO"
|
||||
v.typanalyze << row.get(20);//"regproc";"NO"
|
||||
v.typalign << row.get(21); // //""char"";"NO"
|
||||
v.typstorage << row.get(22); //""char"";"NO"
|
||||
v.typnotnull << row.get(23); //"boolean";"NO"
|
||||
v.typbasetype << row.get(24); //"oid";"NO"
|
||||
v.typtypmod << row.get(25); //-1;//"integer";"NO"
|
||||
v.typndims << row.get(26); //"integer";"NO"
|
||||
v.typcollation << row.get(27); //InvalidOid;//"oid";"NO"
|
||||
v.typdefaultbin << row.get(28);//"pg_node_tree";"YES"
|
||||
v.typdefault << row.get(29);//"text";"YES"
|
||||
v.typacl << row.get(30);//"ARRAY";"YES"
|
||||
m_container.push_back(v);
|
||||
}
|
||||
std::sort(m_container.begin(), m_container.end());
|
||||
|
|
|
|||
|
|
@ -39,12 +39,12 @@ void PgsqlDatabaseCatalogue::loadInfo(Pgsql::Connection &conn)
|
|||
Pgsql::Result r = conn.query("SHOW server_version_num");
|
||||
if (r && r.resultStatus() == PGRES_TUPLES_OK)
|
||||
if (r.rows() == 1)
|
||||
m_serverVersion = r.get(0, 0);
|
||||
m_serverVersion << r.get(0, 0);
|
||||
|
||||
r = conn.query("SELECT version()");
|
||||
if (r && r.resultStatus() == PGRES_TUPLES_OK)
|
||||
if (r.rows() == 1)
|
||||
m_serverVersionString = r.get(0, 0);
|
||||
m_serverVersionString = r.get(0, 0).asQString();
|
||||
}
|
||||
|
||||
void PgsqlDatabaseCatalogue::loadTypes(Pgsql::Connection &conn)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
#include "Pgsql_Params.h"
|
||||
#include <cstring>
|
||||
|
||||
using namespace Pgsql;
|
||||
|
||||
|
|
@ -30,16 +31,13 @@ Params::Params(Params&& rhs)
|
|||
, m_paramValues(std::move(rhs.m_paramValues))
|
||||
, m_paramLengths(std::move(rhs.m_paramLengths))
|
||||
, m_paramFormats(std::move(rhs.m_paramFormats))
|
||||
{
|
||||
//rhs.m_paramValues.clear(); // make sure origin is empty, to prevent double deletion
|
||||
}
|
||||
{}
|
||||
|
||||
Params& Params::operator=(Params&& rhs)
|
||||
{
|
||||
if (&rhs != this) {
|
||||
m_paramTypes = std::move(rhs.m_paramTypes);
|
||||
m_paramValues = std::move(rhs.m_paramValues);
|
||||
//rhs.m_paramValues.clear(); // make sure origin is empty, to prevent double deletion
|
||||
m_paramLengths = std::move(rhs.m_paramLengths);
|
||||
m_paramFormats = std::move(rhs.m_paramFormats);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -153,7 +153,7 @@ int Result::cols() const
|
|||
return PQnfields(result);
|
||||
}
|
||||
|
||||
const char* const Result::getColName(int idx) const
|
||||
const char * Result::getColName(int idx) const
|
||||
{
|
||||
return PQfname(result, idx);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -116,9 +116,9 @@ namespace Pgsql {
|
|||
int rows() const;
|
||||
int cols() const;
|
||||
|
||||
const char* const getColName(int idx) const;
|
||||
const char* getColName(int idx) const;
|
||||
|
||||
const char * val(int col, int row) const;
|
||||
const char* val(int col, int row) const;
|
||||
Value get(int col, int row) const;
|
||||
Oid type(int col) const;
|
||||
bool null(int col, int row) const;
|
||||
|
|
|
|||
|
|
@ -54,3 +54,45 @@ Value::operator bool() const
|
|||
return std::strcmp(m_val, "t") == 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//void operator<<(QString &s, const Value &v)
|
||||
//{
|
||||
// s = v.asQString();
|
||||
//}
|
||||
|
||||
//void operator<<(QDateTime &l, const Value &v)
|
||||
//{
|
||||
// l = QDateTime::fromString(asQString(),
|
||||
// "yyyy-MM-dd hh:mm:ss");
|
||||
//}
|
||||
|
||||
//void operator<<(std::string &l, const Value &v)
|
||||
//{
|
||||
// l = v;
|
||||
//}
|
||||
|
||||
//void operator<<(short &l, const Value &v)
|
||||
//{
|
||||
// l = (short)std::atoi(v.c_str());
|
||||
//}
|
||||
|
||||
//void operator<<(int &l, const Value &v)
|
||||
//{
|
||||
// l = std::atoi(v.c_str());
|
||||
//}
|
||||
|
||||
//void Pgsql::operator<<(Oid &l, const Value &v)
|
||||
//{
|
||||
// l = std::atoi(v.c_str());
|
||||
//}
|
||||
|
||||
//void operator<<(__int64 &l, const Value &v)
|
||||
//{
|
||||
// l = std::strtoull(v.c_str(), nullptr, 10);
|
||||
//}
|
||||
|
||||
//void operator<<(bool &l, const Value &v)
|
||||
//{
|
||||
// l = std::strcmp(v.c_str(), "t") == 0;
|
||||
//}
|
||||
|
|
|
|||
|
|
@ -13,6 +13,8 @@ namespace Pgsql {
|
|||
public:
|
||||
Value(const char *val, Oid typ);
|
||||
QString asQString() const;
|
||||
const char* c_str() const { return m_val; }
|
||||
|
||||
operator QString() const;
|
||||
operator QDateTime() const;
|
||||
operator std::string() const;
|
||||
|
|
@ -21,12 +23,24 @@ namespace Pgsql {
|
|||
operator Oid() const;
|
||||
operator __int64() const;
|
||||
operator bool() const;
|
||||
|
||||
private:
|
||||
const char *m_val;
|
||||
Oid m_typ;
|
||||
};
|
||||
|
||||
// void operator<<(QString &s, const Value &v);
|
||||
// void operator<<(QDateTime &l, const Value &v);
|
||||
// void operator<<(std::string &l, const Value &v);
|
||||
// void operator<<(short &l, const Value &v);
|
||||
// void operator<<(int &l, const Value &v);
|
||||
// void operator<<(Oid &l, const Value &v);
|
||||
// void operator<<(__int64 &l, const Value &v);
|
||||
// void operator<<(bool &l, const Value &v);
|
||||
template <typename T>
|
||||
void operator<<(T &s, const Value &v)
|
||||
{
|
||||
s = static_cast<T>(v);
|
||||
}
|
||||
|
||||
} // end namespace Pgsql
|
||||
|
||||
|
|
|
|||
|
|
@ -336,6 +336,8 @@ void QueryTab::connectionStateChanged(ASyncDBConnection::State state)
|
|||
case ASyncDBConnection::State::CancelSend:
|
||||
iconname = ":/icons/16x16/document_yellow.png";
|
||||
break;
|
||||
case ASyncDBConnection::State::Terminating:
|
||||
break;
|
||||
}
|
||||
tabwidget->setTabIcon(i, QIcon(iconname));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,6 +15,11 @@
|
|||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<widget class="QSplitter" name="splitter">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<widget class="QWidget" name="">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<widget class="QPlainTextEdit" name="queryEdit"/>
|
||||
|
|
@ -105,8 +110,7 @@
|
|||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
</widget>
|
||||
<widget class="QTabWidget" name="tabWidget">
|
||||
<property name="currentIndex">
|
||||
<number>1</number>
|
||||
|
|
@ -154,6 +158,13 @@
|
|||
<property name="bottomMargin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="lblTimes">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QTreeView" name="explainTreeView">
|
||||
<property name="editTriggers">
|
||||
|
|
@ -176,13 +187,6 @@
|
|||
</attribute>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="lblTimes">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="logTab">
|
||||
|
|
@ -208,6 +212,7 @@
|
|||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@
|
|||
|
||||
ServerWindow::ServerWindow(MasterController *master, QWidget *parent)
|
||||
: ASyncWindow(parent)
|
||||
, m_masterController(master)
|
||||
, ui(new Ui::ServerWindow)
|
||||
, m_masterController(master)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
|
|
|
|||
|
|
@ -25,10 +25,7 @@ int main(int argc, char *argv[])
|
|||
|
||||
auto master_controller = std::make_unique<MasterController>();
|
||||
master_controller->init();
|
||||
|
||||
|
||||
int result = a.exec();
|
||||
|
||||
WSACleanup();
|
||||
|
||||
return result;
|
||||
|
|
|
|||
11
src/src.pro
11
src/src.pro
|
|
@ -4,7 +4,7 @@
|
|||
#
|
||||
#-------------------------------------------------
|
||||
|
||||
CONFIG += c++11
|
||||
CONFIG += c++14
|
||||
QT += core gui
|
||||
|
||||
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets sql
|
||||
|
|
@ -12,12 +12,13 @@ greaterThan(QT_MAJOR_VERSION, 4): QT += widgets sql
|
|||
TARGET = pglab
|
||||
TEMPLATE = app
|
||||
|
||||
INCLUDEPATH += C:\prog\include C:\VSproj\boost_1_63_0
|
||||
INCLUDEPATH += C:\prog\include C:\Prog\boost\include\boost-1_64
|
||||
DEFINES += WIN32_LEAN_AND_MEAN NOMINMAX
|
||||
LIBS += /LIBPATH:C:\VSproj\boost_1_63_0\stage\lib /LIBPATH:c:\prog\lib\ libpq.lib fmt.lib User32.lib ws2_32.lib
|
||||
#LIBS += -LC:/prog/boost/lib -Lc:/prog/lib libpq.lib fmt.lib User32.lib ws2_32.lib
|
||||
LIBS += -LC:/MINGW/LIB -LC:/PROG/LIB -lws2_32 -lpq
|
||||
|
||||
debug {
|
||||
LIBS += c:\prog\lib\botand_imp.lib
|
||||
LIBS += c:/prog/lib/botand_imp.lib
|
||||
}
|
||||
|
||||
release {
|
||||
|
|
@ -139,7 +140,7 @@ FORMS += mainwindow.ui \
|
|||
RESOURCES += \
|
||||
resources.qrc
|
||||
|
||||
QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS,5.01
|
||||
#QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS,5.01
|
||||
|
||||
win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../core/release/ -lcore
|
||||
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../core/debug/ -lcore
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue