Skip to content

Commit 37a193a

Browse files
committed
Implemented base class for all tabs
1 parent 5993918 commit 37a193a

File tree

15 files changed

+93
-58
lines changed

15 files changed

+93
-58
lines changed

redis-desktop-manager/forms/demo.ui

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -424,7 +424,7 @@ aa|bb Either aa or bb.
424424
<property name="movable">
425425
<bool>true</bool>
426426
</property>
427-
<widget class="QWidget" name="rdmTab">
427+
<widget class="BaseTab" name="rdmTab">
428428
<property name="sizePolicy">
429429
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
430430
<horstretch>2</horstretch>
@@ -591,6 +591,12 @@ aa|bb Either aa or bb.
591591
<header>MainTabsWidget.h</header>
592592
<container>1</container>
593593
</customwidget>
594+
<customwidget>
595+
<class>BaseTab</class>
596+
<extends>QWidget</extends>
597+
<header>BaseTab.h</header>
598+
<container>1</container>
599+
</customwidget>
594600
</customwidgets>
595601
<resources>
596602
<include location="../Resources/demo.qrc"/>

redis-desktop-manager/include/models/PaginatedModel.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ class PaginatedModel : public KeyModel
1919
virtual int itemsCount();
2020

2121
virtual int getPagesCount();
22-
static void delayedDeallocator(QObject *);
2322
protected:
2423
int currentPage;
2524
QVector<QString> * rawData;
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#pragma once
2+
3+
#include <QWidget>
4+
5+
class BaseTab : public QWidget
6+
{
7+
Q_OBJECT
8+
public:
9+
virtual void close();
10+
11+
virtual bool shouldBeReplaced();
12+
};
13+

redis-desktop-manager/include/widgets/consoleTab.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,19 @@
22

33

44
#include "qconsole.h"
5+
#include "BaseTab.h"
56
#include <QThread>
67

78
class RedisConnectionConfig;
89
class ConsoleConnectionWrapper;
910

10-
class consoleTab: public QConsole
11+
class ConsoleTab: public QConsole
1112
{
1213
Q_OBJECT
1314

1415
public:
15-
consoleTab(RedisConnectionConfig&);
16-
~consoleTab(void);
16+
ConsoleTab(RedisConnectionConfig&);
17+
~ConsoleTab(void);
1718

1819
public slots:
1920
void setPrompt(const QString &, bool);

redis-desktop-manager/include/widgets/valueViewTab.h

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,25 @@
11
#pragma once
22

3-
#include <QWidget>
43
#include <QSharedPointer>
54
#include "RedisKeyItem.h"
65
#include "KeyModel.h"
6+
#include "BaseTab.h"
77

88
class ValueTabView;
99
class Response;
1010

11-
class ValueTab : public QWidget
11+
class ValueTab : public BaseTab
1212
{
1313
Q_OBJECT
1414

1515
public:
1616
ValueTab(RedisKeyItem * key);
1717

18-
bool close();
18+
void close();
1919

2020
protected:
2121
RedisKeyItem * key; //we don't control this object
22-
2322
QSharedPointer<KeyModel> keyModel;
24-
2523
QSharedPointer<ValueTabView> ui;
2624

2725
bool isInitialized;
@@ -36,25 +34,18 @@ class ValueTab : public QWidget
3634

3735
bool isOperationsAborted();
3836

37+
bool shouldBeReplaced();
38+
3939
protected slots:
4040
void keyTypeLoaded(Response type);
41-
4241
void valueLoaded();
43-
4442
void deleteKey();
45-
4643
void renameKey();
47-
4844
void keyRenamed();
49-
5045
void keyDeleted();
51-
5246
void updateValue(const QString&, const QModelIndex *);
53-
5447
void valueUpdated();
55-
5648
void errorOccurred(const QString&);
57-
5849
void OnClose();
5950

6051
signals:

redis-desktop-manager/redis-desktop-manager.vcxproj

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@
1414
<ClCompile Include="GeneratedFiles\Debug\moc_application.cpp">
1515
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
1616
</ClCompile>
17+
<ClCompile Include="GeneratedFiles\Debug\moc_BaseTab.cpp">
18+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
19+
</ClCompile>
1720
<ClCompile Include="GeneratedFiles\Debug\moc_connection.cpp">
1821
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
1922
</ClCompile>
@@ -116,6 +119,9 @@
116119
<ClCompile Include="GeneratedFiles\Release\moc_application.cpp">
117120
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
118121
</ClCompile>
122+
<ClCompile Include="GeneratedFiles\Release\moc_BaseTab.cpp">
123+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
124+
</ClCompile>
119125
<ClCompile Include="GeneratedFiles\Release\moc_connection.cpp">
120126
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
121127
</ClCompile>
@@ -245,6 +251,7 @@
245251
<ClCompile Include="source\redis\RedisConnectionsManager.cpp" />
246252
<ClCompile Include="source\redis\Response.cpp" />
247253
<ClCompile Include="source\updater\Updater.cpp" />
254+
<ClCompile Include="source\widgets\BaseTab.cpp" />
248255
<ClCompile Include="source\widgets\ConnectionTreeView.cpp" />
249256
<ClCompile Include="source\widgets\consoleTab.cpp" />
250257
<ClCompile Include="source\widgets\MainTabsWidget.cpp" />
@@ -292,6 +299,16 @@
292299
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
293300
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -DQT_CONCURRENT_LIB "-I." "-I.\GeneratedFiles" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I$(QTDIR)\include\QtConcurrent" "-I$(SolutionDir)\deps\libssh\include" "-I$(SolutionDir)\deps\google-breakpad\src\client\windows\handler" "-I$(SolutionDir)\deps\google-breakpad\src\common\windows" "-I$(SolutionDir)\deps\google-breakpad\src\client\windows\crash_generation" "-I$(SolutionDir)\deps\google-breakpad\src\client\windows\common" "-I$(SolutionDir)\deps\google-breakpad\src\google_breakpad\common" "-I$(SolutionDir)\deps\google-breakpad\src\processor" "-I$(SolutionDir)\deps\google-breakpad\src"</Command>
294301
</CustomBuild>
302+
<CustomBuild Include="include\widgets\BaseTab.h">
303+
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing BaseTab.h...</Message>
304+
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
305+
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -DQT_CONCURRENT_LIB "-I." "-I.\GeneratedFiles" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I$(QTDIR)\include\QtConcurrent" "-I$(SolutionDir)\deps\libssh\include" "-I$(SolutionDir)\deps\google-breakpad\src\client\windows\handler" "-I$(SolutionDir)\deps\google-breakpad\src\common\windows" "-I$(SolutionDir)\deps\google-breakpad\src\client\windows\crash_generation" "-I$(SolutionDir)\deps\google-breakpad\src\client\windows\common" "-I$(SolutionDir)\deps\google-breakpad\src\google_breakpad\common" "-I$(SolutionDir)\deps\google-breakpad\src\processor" "-I$(SolutionDir)\deps\google-breakpad\src"</Command>
306+
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing BaseTab.h...</Message>
307+
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
308+
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -DQT_CONCURRENT_LIB "-I." "-I.\GeneratedFiles" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I$(QTDIR)\include\QtConcurrent" "-I$(SolutionDir)\deps\libssh\include" "-I$(SolutionDir)\deps\google-breakpad\src\client\windows\handler" "-I$(SolutionDir)\deps\google-breakpad\src\common\windows" "-I$(SolutionDir)\deps\google-breakpad\src\client\windows\crash_generation" "-I$(SolutionDir)\deps\google-breakpad\src\client\windows\common" "-I$(SolutionDir)\deps\google-breakpad\src\google_breakpad\common" "-I$(SolutionDir)\deps\google-breakpad\src\processor" "-I$(SolutionDir)\deps\google-breakpad\src"</Command>
309+
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
310+
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
311+
</CustomBuild>
295312
<ClInclude Include="include\widgets\ServerContextMenu.h" />
296313
<ClInclude Include="Redis.h" />
297314
<ClInclude Include="version.h" />

redis-desktop-manager/redis-desktop-manager.vcxproj.filters

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -404,6 +404,15 @@
404404
<ClCompile Include="GeneratedFiles\Release\moc_application.cpp">
405405
<Filter>Generated Files\Release</Filter>
406406
</ClCompile>
407+
<ClCompile Include="source\widgets\BaseTab.cpp">
408+
<Filter>Source Files\widgets</Filter>
409+
</ClCompile>
410+
<ClCompile Include="GeneratedFiles\Debug\moc_BaseTab.cpp">
411+
<Filter>Generated Files\Debug</Filter>
412+
</ClCompile>
413+
<ClCompile Include="GeneratedFiles\Release\moc_BaseTab.cpp">
414+
<Filter>Generated Files\Release</Filter>
415+
</ClCompile>
407416
</ItemGroup>
408417
<ItemGroup>
409418
<CustomBuild Include="include\connection.h">
@@ -517,6 +526,9 @@
517526
<CustomBuild Include="include\application.h">
518527
<Filter>Header Files</Filter>
519528
</CustomBuild>
529+
<CustomBuild Include="include\widgets\BaseTab.h">
530+
<Filter>Header Files\widgets</Filter>
531+
</CustomBuild>
520532
</ItemGroup>
521533
<ItemGroup>
522534
<ClInclude Include="include\models\items\RedisKeyNamespace.h">

redis-desktop-manager/source/application.cpp

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ void MainWin::initConnectionsTreeView()
5252

5353
void MainWin::initContextMenus()
5454
{
55-
// TODO: move to custom QMenu class
5655
serverMenu = QSharedPointer<ServerContextMenu>(new ServerContextMenu(this));
5756

5857
// TODO: move to custom QMenu class
@@ -359,11 +358,19 @@ void MainWin::OnConsoleOpen()
359358
RedisServerItem * server = dynamic_cast<RedisServerItem *>(item);
360359
RedisConnectionConfig config = server->getConnection()->getConfig();
361360

362-
consoleTab * tab = new consoleTab(config);
361+
BaseTab * tab = new BaseTab();
362+
ConsoleTab * console = new ConsoleTab(config);
363+
console->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding));
364+
QBoxLayout * layout = new QBoxLayout(QBoxLayout::LeftToRight, tab);
365+
layout->setMargin(0);
366+
layout->addWidget(console);
367+
tab->setLayout(layout);
368+
tab->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding));
369+
console->setParent(tab);
363370

364371
QString serverName = server->text();
365372

366-
ui.tabWidget->addTab(serverName, tab, ":/images/terminal.png");
373+
ui.tabWidget->addTab(serverName, tab, ":/images/terminal.png", true);
367374
}
368375

369376
void MainWin::OnKeyOpenInNewTab()

redis-desktop-manager/source/models/PaginatedModel.cpp

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,3 @@ PaginatedModel::~PaginatedModel()
4646

4747
delete rawData;
4848
}
49-
50-
void PaginatedModel::delayedDeallocator(QObject *object)
51-
{
52-
QElapsedTimer timer;
53-
timer.start();
54-
55-
delete object;
56-
57-
qDebug() << QString("Async free memory %1").arg(timer.elapsed());
58-
}

redis-desktop-manager/source/redis/RedisConnectionOverSsh.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,6 @@ QVariant RedisConnectionOverSsh::execute(QString command)
272272

273273
void RedisConnectionOverSsh::runCommand(const Command &command)
274274
{
275-
//todo: implement this
276275
if (command.hasDbIndex()) {
277276
selectDb(command.getDbIndex());
278277
}

0 commit comments

Comments
 (0)