Skip to content

Commit d400d8a

Browse files
committed
darkv1: Added darkmode
1 parent 48f7dfd commit d400d8a

File tree

237 files changed

+2665
-177
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

237 files changed

+2665
-177
lines changed

.gitignore

+5
Original file line numberDiff line numberDiff line change
@@ -98,3 +98,8 @@ Desktop.ini
9898
$RECYCLE.BIN/
9999
.vscode/settings.json
100100
.vs/
101+
102+
# Cache
103+
src/robomongo/.cmake/api/v1/query/cache-v2
104+
src/robomongo/.cmake/api/v1/query/cmakeFiles-v1
105+
src/robomongo/.cmake/api/v1/query/codemodel-v2

CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ find_package(MongoDB REQUIRED)
4040
find_package(OpenSSL REQUIRED)
4141

4242
if (SYSTEM_MACOSX)
43-
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.14)
43+
set(CMAKE_OSX_DEPLOYMENT_TARGET 11.2)
4444
find_package(Qt5MacExtras REQUIRED)
4545
endif()
4646

README.md

+29-115
Original file line numberDiff line numberDiff line change
@@ -1,131 +1,45 @@
1-
About Robo 3T
1+
Dark Robo 3T
22
===============
3+
Basic & personal project that is useful for me and might be useful for you.
34

4-
[Robo 3T](http://www.robomongo.org) (formerly Robomongo *) is a shell-centric cross-platform MongoDB management tool. Unlike most other MongoDB admin UI tools, Robo 3T embeds the actual `mongo` shell in a tabbed interface with access to a shell command line as well as GUI interaction.
5-
6-
The latest stable release **Robo 3T 1.4** embeds **MongoDB 4.2** shell.
7-
8-
Blog: http://blog.robomongo.org/robo-3t-1-4/
9-
Download: https://robomongo.org/download
10-
All Releases: https://github.com/Studio3T/robomongo/releases
11-
Watch: [Robo 3T Youtube channel](https://www.youtube.com/channel/UCM_7WAseRWeeiBikExppstA)
12-
Follow: https://twitter.com/Robomongo
13-
14-
**Embedded MongoDB shell history:**
15-
Robo 3T 1.4 -> MongoDB 4.2
16-
Robo 3T 1.3 -> MongoDB 4.0
17-
Robo 3T 1.1 -> MongoDB 3.4
18-
Robo 3T 0.9 -> MongoDB 3.2
19-
Robo 3T 0.8.x -> MongoDB 2.4.0
20-
21-
\* [Robomongo has been acquired by 3T](https://studio3t.com/press/3t-software-labs-acquires-robomongo-the-most-widely-used-mongodb-tool/)
22-
23-
What's new in latest Robo 3T 1.4?
24-
====================================
25-
26-
New Features:
27-
- Mongo shell 4.2 upgrade
28-
- Support for Ubuntu 20.04, macOS Big Sur and macOS 10.15 (Catalina)
29-
- SSH: ECDSA and Ed25519 keys support on Windows & macOS (issues #1719, #1530, #1590)
30-
- Manually specify visible databases (issues #1696, #1368, #389)
31-
- New Welcome Tab - embeds Chromium using QtWebEngine (Windows, macOS only)
32-
- Import keys from old version: autoExpand, lineNumbers, debugMode and shellTimeoutSec
33-
34-
Improvements:
35-
- Qt Upgrade (v5.12.8 - Apr/2020, Windows & macOS only)
36-
- OpenSSL upgrade (v1.1.1f - Mar/2020, Windows & macOS only)
37-
- libssh2 upgrade (v1.9.0 - Jun/2019, Windows & macOS only)
38-
- Database explorer section has smaller default width (#1556)
39-
- Remember database explorer section size
40-
41-
Fixes:
42-
- Fix previously broken IPv6 support from command line: robo3t --ipv6
43-
- Fix crash when paging used in tabbed result window (#1661)
44-
- Fix broken paging in DocumentDB (#1694)
45-
- Authentication database option isn't used properly (#1696)
46-
- Add/Edit index ops fixed (re-written) (#1692)
47-
- Crash when expanding admin users (#1728)
48-
- Unable to run query after shell timeout reached (#1529)
49-
- Fix broken F2, F3, F4 shortcuts for tabbed result view
50-
- One time re-order limit per new connections window to prevent data loss (macOS, #1790)
51-
- Fix crash when new shell tab executed in server unreachable case
52-
53-
Supported Platforms
54-
===============
55-
56-
Note: This sections is for Robo 3T and it directly depends on what MongoDB suppports
57-
(See: https://docs.mongodb.com/manual/administration/production-notes/#prod-notes-supported-platforms)
58-
59-
| MongoDB Versions | MongoDB Cloud Platforms |
60-
| :-------------------- | :-------------------- |
61-
| 4.2 | Mongo Atlas |
62-
| 4.0 |
63-
| 3.6 |
64-
65-
| Windows | Mac | Linux |
66-
|:---------------------- | :--------------------------------| :---------------------------|
67-
| Windows 64-bit 10 | Mac OS X 11 (Big Sur) | Linux Ubuntu 20.04 64-bit |
68-
Windows 64-bit 8.1 | Mac OS X 10.15 (Catalina) | Linux Ubuntu 18.04 64-bit |
69-
| Windows 64-bit 7 | Mac OS X 10.14 (Mojave) | |
70-
71-
72-
Contribute!
73-
===========
74-
75-
### Code Contributions
76-
77-
See all docs here: https://github.com/Studio3T/robomongo/wiki
78-
79-
**Some important docs:**
80-
- [Build Diagram](https://github.com/Studio3T/robomongo/wiki/Robo-3T-Schematics:-Build,-Class-and-UI-Diagrams#1-build-diagram)
81-
- [Static Code Analysis](https://github.com/Studio3T/robomongo/wiki/Static-Code-Analysis)
82-
- [Robo 3T Feature Specisification](https://github.com/Studio3T/robomongo/wiki/Feature-Spec)
83-
- [Debugging](https://github.com/Studio3T/robomongo/blob/master/docs/Debug.md)
84-
- [Schematics](https://github.com/Studio3T/robomongo/tree/master/schematics)
85-
86-
Code contributions are always welcome! Just try to follow our pre-commit checks and coding style:
87-
- [Robo 3T Code Quality](https://github.com/paralect/robomongo/wiki/Robomongo-Code-Quality)
88-
- [Robo 3T C++11/14 Transition Guide](https://github.com/Studio3T/robomongo/wiki/Robomongo-Cplusplus-11,-14-Transition-Guide)
89-
- [Robo 3T Coding Style](https://github.com/paralect/robomongo/wiki/Robomongo-Coding-Style)
90-
91-
If you plan to contribute, please create a Github issue (or comment on the relevant existing issue) so we can help coordinate with upcoming release plans.
5+
![alt text](screenshot.png)
926

93-
Pull requests (PRs) should generally be for discrete issues (i.e. one issue per PR please) and be clean to merge against the current master branch. It would also be helpful if you can confirm what testing has been done (specific O/S targets and MongoDB versions if applicable).
94-
95-
A usual naming approach for feature branches is `issue-###`. Include the issue number in your commit message / pull request description to link the PR to the original issue.
96-
97-
For example:
98-
```#248: updated QScintilla to 2.4.8 for retina display support".```
99-
100-
### Testing
101-
102-
- [Unit-Tests](https://github.com/Studio3T/robomongo/wiki/Unit-Tests)
103-
- [Manual Tests](wiki/Tests)
104-
- See all docs here: https://github.com/Studio3T/robomongo/wiki
105-
106-
### Suggest Features
107-
108-
New feature suggestions or UI improvements are always welcome.
109-
[Create a new feature request on github](https://github.com/paralect/robomongo/issues/new)
110-
111-
This project is powered by open source volunteers, so we have a limited amount of development resource to address all requests. We will certainly make best efforts to progress (particularly for those with strong community upvotes).
7+
Features
8+
========
9+
- Based on [Robo 3T 1.4](https://github.com/Studio3T/robomongo)
10+
- Mac OS X 11 (Big Sur) only
11+
- Mongo shell v4.4.2
12+
- Qt v5.12.10
13+
- OpenSSL v1.1.1f
14+
- Dark Mode
11215

11316

11417
Download
11518
========
11619

117-
You can download tested installer packages for macOS, Windows, and Linux from our site: [www.robomongo.org](http://www.robomongo.org).
20+
You can download installer packages for macOS [Here](https://github.com/d3skdev/dark-robomongo/releases/).
11821

119-
Support
120-
=======
22+
Troubleshooting
23+
========
24+
<h4>App quits unexpectedly ?</h4>
12125

122-
Robo 3T is an open source project driven by volunteers. We'll try to get to your questions as soon as we can, but please be patient :).
26+
Try:
27+
```
28+
$ ((ls /usr/local/opt/openssl/lib/libssl.1.1.dylib &&\
29+
ls /usr/local/opt/openssl/lib/libcrypto.1.1.dylib) && echo Yes) || echo No
30+
```
31+
If "Yes" then:
32+
```
33+
$ ln -s /usr/local/opt/openssl/lib/libssl.1.1.dylib /usr/local/lib/
34+
$ ln -s /usr/local/opt/openssl/lib/libcrypto.1.1.dylib /usr/local/lib/
35+
```
36+
If "No" then compile and install the following package
37+
```
38+
http://www.openssl.org/source/openssl-1.1.1f.tar.gz
39+
```
12340

124-
You can:
12541

126-
- [Create a new issue in the Github issue queue](https://github.com/paralect/robomongo/issues)
12742

128-
- [Join developer discussion on Gitter](https://gitter.im/paralect/robomongo)
12943

13044

13145
License

bin/run

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
#!/usr/bin/env bash
22

3-
BIN_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Get directory of this file
4-
PROJECT_DIR=$(dirname $BIN_DIR) # Get root directory of project
3+
BIN_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # Get directory of this file
4+
PROJECT_DIR=$(dirname $BIN_DIR) # Get root directory of project
55
source $BIN_DIR/common/setup $1
66

77
echo "Note: ./install must be executed before this script."
88
if [ "$(uname -s)" == "Darwin" ]; then
9-
echo "Starting $BUILD_DIR/install/Robo 3T.app/Contents/MacOS/Robo 3T"
10-
"$BUILD_DIR/install/Robo 3T.app/Contents/MacOS/Robo 3T"
9+
echo "Starting $BUILD_DIR/install/Dark Robo 3T.app/Contents/MacOS/Dark Robo 3T"
10+
"$BUILD_DIR/install/Dark Robo 3T.app/Contents/MacOS/Dark Robo 3T"
1111
else
1212
echo "Starting $BUILD_DIR/install/bin/robo3t"
13-
"$BUILD_DIR/install/bin/robo3t"
14-
fi
13+
"$BUILD_DIR/install/bin/robo3t"
14+
fi

cmake/RobomongoCommon.cmake

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11

2-
set(ROBOMONGO_DISPLAY_NAME "Robo 3T")
3-
set(ROBOMONGO_DISPLAY_FULL_NAME "Robo 3T ${PROJECT_VERSION}")
2+
set(ROBOMONGO_DISPLAY_NAME "Dark Robo 3T")
3+
set(ROBOMONGO_DISPLAY_FULL_NAME "Dark Robo 3T ${PROJECT_VERSION}")

cmake/RobomongoInstall.cmake

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ if(SYSTEM_LINUX)
2424
set(qt_conf_dir ${bin_dir})
2525
set(qt_conf_plugins "../lib")
2626
elseif(SYSTEM_MACOSX)
27-
set(bundle_name "Robo 3T.app")
27+
set(bundle_name "Dark Robo 3T.app")
2828
set(contents_path ${bundle_name}/Contents)
2929

3030
set(bin_dir ${contents_path}/MacOS)

cmake/RobomongoTrashSymbols.cmake

+3-3
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@ elseif(SYSTEM_WINDOWS)
1515
set(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES} psapi.lib bcrypt.lib Iphlpapi.lib dbghelp.lib ws2_32.lib winmm.lib version.lib")
1616
endif()
1717

18-
set(PROJECT_NAME "Robo 3T")
18+
set(PROJECT_NAME "Dark Robo 3T")
1919
set(PROJECT_NAME_TITLE ${PROJECT_NAME})
2020
set(PROJECT_DOMAIN "www.robomongo.org")
2121
set(PROJECT_COMPANYNAME "3T Software Labs Ltd")
2222
set(PROJECT_COPYRIGHT "Copyright (C) 2014-2017 ${PROJECT_COMPANYNAME} All Rights Reserved.")
2323
set(PROJECT_COMPANYNAME_DOMAIN "https://studio3t.com/")
24-
set(PROJECT_GITHUB_FORK "www.github.com/Studio3T/robomongo")
25-
set(PROJECT_GITHUB_ISSUES "www.github.com/Studio3T/robomongo/issues")
24+
set(PROJECT_GITHUB_FORK "https://github.com/d3skdev/dark-robomongo")
25+
set(PROJECT_GITHUB_ISSUES "https://github.com/d3skdev/dark-robomongo/issues")
2626

2727
string(TOLOWER ${PROJECT_NAME} PROJECT_NAME_LOWERCASE)

install/macosx/Info.plist.in

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<key>CFBundleDevelopmentRegion</key>
88
<string>English</string>
99
<key>CFBundleExecutable</key>
10-
<string>Robo 3T</string>
10+
<string>Dark Robo 3T</string>
1111
<key>CFBundleGetInfoString</key>
1212
<string>${MACOSX_BUNDLE_INFO_STRING}</string>
1313
<key>CFBundleIconFile</key>

install/windows/winres.rc.in

+3-3
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,13 @@ IDI_ICON1 ICON "@windows_icon@"
2727
BLOCK "040904e4"
2828
BEGIN
2929
VALUE "CompanyName", "3T Software Labs Ltd\0"
30-
VALUE "FileDescription", "Robo 3T, MongoDB management tool\0"
30+
VALUE "FileDescription", "Dark Robo 3T, MongoDB management tool\0"
3131
VALUE "FileVersion", VER_FILEVERSION_STR
3232
VALUE "LegalCopyright", "Copyright 3T Software Labs Ltd, 2014 - 2017\0"
33-
VALUE "ProductName", "Robo 3T\0"
33+
VALUE "ProductName", "Dark Robo 3T\0"
3434
VALUE "ProductVersion", VER_PRODUCTVERSION_STR
3535
VALUE "OriginalFilename", "robo3t.exe\0"
36-
VALUE "InternalName", "Robo 3T\0"
36+
VALUE "InternalName", "Dark Robo 3T\0"
3737
END
3838
END
3939
BLOCK "VarFileInfo"

screenshot.png

671 KB
Loading

src/robomongo/CMakeLists.txt

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
1+
cmake_minimum_required(VERSION 3.19)
22
# Automatically generate code for Qt moc, uic and rcc files
33
# Since CMake 2.8.6
44
set(CMAKE_AUTOMOC ON)
@@ -248,11 +248,11 @@ if(SYSTEM_WINDOWS)
248248
elseif(SYSTEM_MACOSX)
249249
set_target_properties(robomongo PROPERTIES
250250
INSTALL_RPATH "@executable_path/../Frameworks"
251-
OUTPUT_NAME "Robo 3T"
251+
OUTPUT_NAME "Dark Robo 3T"
252252
MACOSX_BUNDLE_INFO_PLIST "${CMAKE_SOURCE_DIR}/install/macosx/Info.plist.in"
253-
MACOSX_BUNDLE_BUNDLE_NAME "Robo 3T"
253+
MACOSX_BUNDLE_BUNDLE_NAME "Dark Robo 3T"
254254
MACOSX_BUNDLE_GUI_IDENTIFIER "com.3tsoftwarelabs.robo3t"
255-
MACOSX_BUNDLE_INFO_STRING "Robo 3T ${PROJECT_VERSION}. Copyright 3T Software Labs Ltd, 2014 - 2017"
255+
MACOSX_BUNDLE_INFO_STRING "Dark Robo 3T ${PROJECT_VERSION}. Copyright 3T Software Labs Ltd, 2014 - 2017"
256256
MACOSX_BUNDLE_SHORT_VERSION "${PROJECT_VERSION}"
257257
MACOSX_BUNDLE_LONG_VERSION "${PROJECT_VERSION}"
258258
MACOSX_BUNDLE_BUNDLE_VERSION "${PROJECT_VERSION}"

src/robomongo/app/main.cpp

+9
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
#include <QApplication>
22
#include <QDesktopWidget>
33

4+
#include <QFile>
5+
#include <QTextStream>
6+
47
#include <locale.h>
58

69
// Header "mongo/util/net/sock" is needed for mongo::enableIPv6()
@@ -107,6 +110,12 @@ int main(int argc, char *argv[], char** envp)
107110
for(auto const& msgAndSeverity : Robomongo::RoboCrypt::roboCryptLogs())
108111
Robomongo::LOG_MSG(msgAndSeverity.first, msgAndSeverity.second);
109112

113+
114+
QFile file(":qdarkstyle/style.qss");
115+
file.open(QFile::ReadOnly | QFile::Text);
116+
QTextStream stream(&file);
117+
app.setStyleSheet(stream.readAll());
118+
110119
int rc = app.exec();
111120
rbm_ssh_cleanup();
112121
return rc;

src/robomongo/gui/MainWindow.cpp

+2-19
Original file line numberDiff line numberDiff line change
@@ -611,7 +611,7 @@ namespace Robomongo
611611

612612
createTabs();
613613
createStatusBar();
614-
setWindowTitle("Robo 3T - " + QString(PROJECT_VERSION_SHORT));
614+
setWindowTitle("Dark Robo 3T- " + QString(PROJECT_VERSION_SHORT));
615615
setWindowIcon(GuiRegistry::instance().mainWindowIcon());
616616

617617
QTimer::singleShot(0, this, SLOT(manageConnections()));
@@ -675,24 +675,7 @@ namespace Robomongo
675675
log->setText("Logs");
676676
log->setCheckable(true);
677677
log->setDefaultAction(_logDock->toggleViewAction());
678-
log->setStyleSheet(QString(
679-
"QToolButton {"
680-
" background-color: %1;"
681-
" border-style: outset;"
682-
" border-width: 1px;"
683-
" border-radius: 4px;"
684-
" border-color: %2;"
685-
" padding: 1px 10px 1px 10px;"
686-
"} \n"
687-
""
688-
"QToolButton:checked, QToolButton:pressed {"
689-
" background-color: %3;"
690-
" border-style: inset;"
691-
"}")
692-
.arg(buttonBgColor.name())
693-
.arg(buttonBorderBgColor.name())
694-
.arg(buttonPressedColor.name()));
695-
678+
696679
statusBar()->insertWidget(0, log);
697680
statusBar()->setStyleSheet("QStatusBar::item { border: 0px solid black };");
698681
}

src/robomongo/gui/dialogs/AboutDialog.cpp

+3-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ namespace
1919
auto const MONTH { QString::number(QDate::currentDate().month()) };
2020

2121
const QString description {
22-
"<h3>" PROJECT_NAME_TITLE " " PROJECT_VERSION
22+
"<h3>Dark Robo 3T v1.0</h3> By <a href=https://github.com/d3skdev/dark-robomongo>d3skdev</a>"
23+
"<h3> Based on " PROJECT_NAME_TITLE " " PROJECT_VERSION
2324
" (Build " BUILD_NUMBER + QString(" - ") + MONTH + "/" + YEAR + ")</h3>"
2425
"Shell-centric MongoDB management tool.<br/>"
2526
"<a href=\"https://" PROJECT_GITHUB_ISSUES "\">Submit</a> issues/proposals on GitHub.<br/>"
@@ -50,6 +51,7 @@ namespace
5051
"<b>Credits: <br/></b>"
5152
"Some icons are designed by Freepik <a href=https://www.flaticon.com>www.flaticon.com</a>"
5253
"<br/>"
54+
"Dark theme by <a href=https://github.com/ColinDuquesnoy/QDarkStyleSheet>ColinDuquesnoy/QDarkStyleSheet</a>"
5355
};
5456
}
5557

src/robomongo/gui/editors/JSLexer.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ namespace Robomongo
1010

1111
QColor JSLexer::defaultPaper(int style) const
1212
{
13-
return QColor(73, 76, 78);
13+
return QColor(44,44,46);
1414
//return QColor(48, 10, 36); // Ubuntu-style background
1515
}
1616

0 commit comments

Comments
 (0)