Compare commits

...
2072 Commits
Author SHA1 Message Date
marc 7896df41cd better build 2021-12-17 15:06:51 +01:00
marc 718a127ef3 known hosts 2021-12-13 17:15:44 +01:00
marc 1ff8e36234 ssh config 2021-12-13 17:14:31 +01:00
marc 18c602245e docker-compose 2021-12-13 16:45:34 +01:00
marc 37a61266f7 ssh 2021-12-13 16:41:26 +01:00
marc 55a16089c2 docker-compose + Dockerfile that work 2021-11-26 15:46:00 +01:00
marc 80ac5292b4 dockerfile 2021-11-26 15:41:27 +01:00
marc 5fb3a107ae docker-compose for using mongo with no dependencies by bind mouting the x11 server 2021-11-26 15:32:00 +01:00
Dj Walker-Morgan a715e33068 Update (C) date 2021-11-08 09:30:35 +00:00
Dj Walker-Morgan dbd03d410d Update README, remove survey 2021-11-08 09:22:56 +00:00
Gokhan Simsek e6ac9ec513 Changelog 2021-07-28 12:37:28 +03:00
Gokhan Simsek c58ed4a0d4 Minor fix 2021-07-28 12:09:17 +03:00
Gokhan Simsek 751c0b0ea8 Refactoring 2021-07-28 11:23:43 +03:00
Gokhan Simsek 526ae7065a Refactoring 2021-07-28 11:05:23 +03:00
Gokhan Simsek 860903cce8 Adding DefaultDB option support for From URI feature 2021-07-28 11:02:14 +03:00
Gokhan Simsek 1e1a7c84b5 Refactoring 2021-07-21 14:01:30 +03:00
Gokhan Simsek c7d97b23aa Adding AuthMechanism option support for From URI feature 2021-07-21 13:28:51 +03:00
Gokhan Simsek bf4cb999d7 Adding clearSslTab func. 2021-07-21 10:49:24 +03:00
Gokhan Simsek c6a4eb0494 Rename 2021-07-21 10:36:21 +03:00
Gokhan Simsek f94e7ce981 Adding TLS options support for From URI feature 2021-07-14 14:34:16 +03:00
Gokhan Simsek dd415d07af Adding feature auto-fill connection settings from standard URI (MongoDB Standard Connection String Format) 2021-07-14 10:02:46 +03:00
Gokhan Simsek 06b67b0adc Adding clear AuthTab func 2021-07-14 09:59:39 +03:00
Gokhan Simsek bd9a2e8227 Release 1.4.4 2021-06-29 13:11:14 +03:00
Gokhan Simsek ccd8299240 macOS, Windows: Fix Welcome Tab not loading the new content issue (disable/bypass HTTP cache) 2021-06-29 13:10:50 +03:00
kathrynvargas a288e5a3c6 Update README.md 2021-06-23 17:13:54 +02:00
Gökhan Şimşek 48f7dfde82 Update CHANGELOG 2021-01-14 11:04:25 +03:00
Gökhan Şimşek 0ee5fcfb6f Update CHANGELOG 2021-01-14 11:04:03 +03:00
Gokhan Simsek 9345ea05ea SSH should not be used when the SSL tab itself is disabled 2021-01-12 15:13:41 +03:00
Gökhan Şimşek c15e8932c6 Update CHANGELOG 2021-01-06 16:55:30 +03:00
Gokhan Simsek 10167d2d19 Minor change 2021-01-06 15:07:39 +03:00
Gokhan Simsek c260a63148 #1285 #1340: Disable SSH tab for existing replica set connections as well 2021-01-06 11:34:48 +03:00
Gokhan Simsek ea78a367ef AboutDialog: Minor change 2021-01-06 11:24:36 +03:00
Gokhan Simsek 74c644c933 #1285 #1340: Disable unsupported SSH tab for replica set connections 2021-01-06 11:04:23 +03:00
Gokhan Simsek 255a9bc2a9 Merge branch 'master' of https://github.com/Studio3T/robomongo 2021-01-06 11:00:25 +03:00
Gökhan Şimşek 968d9fcd5c Create README.md 2021-01-06 09:57:31 +03:00
Gokhan Simsek d76ea6668f Minor renaming 2021-01-06 09:52:01 +03:00
Gökhan Şimşek b789f817f9 Update README.md 2021-01-05 22:16:13 +03:00
Gökhan Şimşek 7ca8fe22d7 Update README.md 2021-01-05 17:21:57 +03:00
Gokhan Simsek 4ea4e1f569 Add set-mongo-warning-level-3.py 2021-01-05 17:18:36 +03:00
Gokhan Simsek e94bf825d3 Add rebuild script 2021-01-05 17:15:12 +03:00
Gokhan Simsek bdc9779df2 run-cppcheck.bat: Enable FILE or DIR argument passing 2021-01-04 17:57:10 +03:00
Gokhan Simsek 2291b09b58 Add more clang-tidy checks 2021-01-04 16:53:35 +03:00
Gokhan Simsek 32df0b7f34 AboutDialog: Add month and year 2021-01-04 13:02:03 +03:00
Gokhan Simsek 5e56af0b5a Enable Clang Tidy for Visual Studio 2019 2021-01-04 12:59:55 +03:00
Gokhan Simsek 6ec457de3d Update run-clang-tidy 2020-12-31 15:27:54 +03:00
Gokhan Simsek b4c58b1704 Update scan-build script 2020-12-30 12:34:30 +03:00
Gökhan Şimşek c3ea3488d2 Delete notes.txt 2020-12-30 11:09:54 +03:00
Gökhan Şimşek eb6f8a6cac Update README.md 2020-12-30 11:07:56 +03:00
Gökhan Şimşek e2d0456626 Rename HELP.md to readme.md 2020-12-30 11:05:56 +03:00
Gökhan Şimşek c183aa8b12 Update README.md 2020-12-30 10:58:55 +03:00
Gökhan Şimşek 9c5abff8cd Update README.md 2020-12-30 10:54:57 +03:00
Gokhan Simsek b794a7702d Minor changes 2020-12-30 10:53:28 +03:00
Gokhan Simsek 310a77e3a7 Merge branch 'master' of https://github.com/Studio3T/robomongo 2020-12-30 10:43:07 +03:00
Gokhan Simsek b37c92d9f9 Remove unused script 2020-12-30 10:42:17 +03:00
Gökhan Şimşek 665569ba82 Update README.md 2020-12-30 10:41:38 +03:00
Gökhan Şimşek 4bade27e12 Update CHANGELOG 2020-12-30 10:32:35 +03:00
Gokhan Simsek b010ab9525 Minor fix 2020-12-29 12:13:48 +03:00
Gökhan Şimşek 199a1864aa Update WelcomeTab.cpp 2020-12-29 11:26:20 +03:00
Gokhan Simsek 0272164072 Minor refactoring 2020-12-29 10:55:50 +03:00
Gokhan Simsek e24de27fd3 Import some keys 2020-12-29 10:53:44 +03:00
Gokhan Simsek e712897fea Minor change 2020-12-29 10:43:21 +03:00
Gokhan Simsek 660aaeb344 Refactoring 2020-12-29 09:59:53 +03:00
Gokhan Simsek 679a878b49 Update/merge main_window.jpg 2020-12-29 09:58:22 +03:00
Gokhan Simsek fa57ae5c3b Add default size for ExplorerWidget 2020-12-29 09:57:11 +03:00
Gokhan Simsek a613793d45 macOS: Prevent clang warning 2020-12-29 09:56:34 +03:00
Gokhan Simsek eaef3dde49 #1556: Remember left explorer widget size 2020-12-28 19:00:59 +03:00
Gokhan Simsek 545a39c522 Fix broken F2, F3, F4 shortcuts for tabbed result view 2020-12-28 11:49:26 +03:00
Gokhan Simsek a1042458b6 #1790: macOS: Set one re-order limit per new connections window workaround for Qt bug came in Qt 5.12.8 2020-12-24 15:17:12 +03:00
Gokhan Simsek 1415744f9b Fix a crash when new shell tab executed in server unreachable case 2020-12-22 17:07:21 +03:00
Gokhan Simsek 80c2e440db Refactoring visual studio code analysis script 2020-12-22 17:01:52 +03:00
Gökhan Şimşek 2809227838 Update README.md 2020-12-22 12:51:06 +03:00
Gökhan Şimşek 5233f2924d Update README.md 2020-12-22 12:50:39 +03:00
Gokhan Simsek a7e5589733 Refatoring clang-tidy script 2020-12-21 11:38:36 +03:00
Gokhan Simsek 3c7fff901a Refactoring static code analysis script 2020-12-21 10:10:53 +03:00
Gökhan Şimşek 821307f699 Update README.md 2020-12-18 18:25:51 +03:00
Gökhan Şimşek 3cf634cb75 Update README.md 2020-12-18 18:17:19 +03:00
Gokhan Simsek f7efb5af75 New WelcomeTab: Open links in external browser 2020-12-18 17:53:31 +03:00
Gökhan Şimşek aa11d3bd49 Update README.md 2020-12-18 15:31:32 +03:00
Gökhan Şimşek 16a61dc512 Update README.md 2020-12-18 15:27:24 +03:00
Gökhan Şimşek 4090a79450 Rename RuntimeDependencies.md to Debug.md 2020-12-18 15:21:22 +03:00
Gökhan Şimşek a619671277 Update README.md 2020-12-18 15:18:05 +03:00
Gokhan Simsek b92c1a1652 Minor change 2020-12-18 11:11:36 +03:00
Gokhan Simsek e97c74154b Update changelog for v1.4.3 2020-12-18 11:06:52 +03:00
Gokhan Simsek 138191cc22 Minor rename 2020-12-18 10:26:08 +03:00
Gokhan Simsek 58b214b16c Fix broken unit tests 2020-12-18 09:58:47 +03:00
Gökhan Şimşek 911acd7e4d Update BuildRobo3TOnMacAndLinux.md 2020-12-17 19:39:56 +03:00
Gokhan Simsek b745b575bc #1661: Attempt to fix a crash during paging used in tabbed result window 2020-12-16 15:58:57 +03:00
Gokhan Simsek 7a02188ac6 Removing unused code 2020-12-15 16:32:35 +03:00
Gokhan Simsek f41b340e79 Disable right click 2020-12-15 11:18:15 +03:00
Gokhan Simsek 901b6e86c7 Linux: Keeping old Welcome Tab due to run time QtWebEngine errors 2020-12-14 18:43:06 +03:00
Gokhan Simsek 583d43c054 macOS BigSur upgrade 2020-12-11 13:02:32 +03:00
Gökhan Şimşek 1fd2a061b0 Update BuildRobo3TOnMacAndLinux.md 2020-12-11 12:36:13 +03:00
Gökhan Şimşek 7c7ee58cd3 Update BuildRobo3TOnMacAndLinux.md 2020-12-10 12:34:06 +03:00
Gokhan Simsek cfa95fd3f5 macOS: New Welcome Tab using/adding QtWebEngine 2020-12-10 12:00:26 +03:00
Gokhan Simsek 89c9e78878 Minor cleaning 2020-12-10 11:53:23 +03:00
Gokhan Simsek bc074e446a Fix previously broken IPv6 setting 2020-12-10 10:05:45 +03:00
Gokhan Simsek baee06dcdd Minor update 2020-12-09 18:38:00 +03:00
Gokhan Simsek a6a6c8409a Windows: New Welcome Tab using/adding QtWebEngine 2020-12-09 14:58:21 +03:00
Gökhan Şimşek 11baf2bb9d Update README.md 2020-12-08 09:53:30 +03:00
Gökhan Şimşek 071d59c72a Update README.md 2020-12-08 09:51:28 +03:00
Gokhan Simsek 65ee72bda3 Starting v1.4.3 2020-12-01 10:46:13 +03:00
Gokhan Simsek 7800b65d1a Deleting unused trash folder 2020-12-01 10:23:21 +03:00
Gökhan Şimşek 56d260a65d Add files via upload
Add Qt build system png
2020-10-23 09:26:50 +03:00
Gokhan Simsek 6d0397a1d7 Minor change 2020-10-22 17:36:17 +03:00
Gokhan Simsek fdebb06059 Cmake: Start debug program with console window 2020-10-22 11:02:49 +03:00
Gokhan Simsek c6ef7bba81 Fix broken build number 2020-10-21 11:18:20 +03:00
Gokhan Simsek 86509495f3 Update changelog for v1.4.2 2020-10-20 16:58:18 +03:00
Gokhan Simsek 086e6b7d21 Update version to 1.4.2 2020-10-20 11:11:13 +03:00
Gokhan Simsek f47afbddc8 #1694: Attempt to fix broken paging in DocumentDB 2020-10-20 11:07:22 +03:00
Gokhan Simsek 14f545ff45 Adding trimmed results 2020-09-27 22:02:26 +03:00
Gökhan Şimşek bf09a3d9c6 Update build_scan-build 2020-09-27 18:55:55 +03:00
Gökhan Şimşek 93cadb5a6b Update configure_scan-build 2020-09-27 18:55:20 +03:00
Gökhan Şimşek 0dd68201f6 Update CHANGELOG 2020-09-15 15:38:43 +03:00
Gökhan Şimşek ba646c4ac0 Update README.md 2020-09-11 11:04:17 +03:00
Gökhan Şimşek 46c50d2aa7 Update README.md 2020-09-11 11:01:48 +03:00
Gokhan Simsek 122dbd953c Generate cmake error when BUILD_NUMBER is empty 2020-09-09 18:23:41 +03:00
Gokhan Simsek a0c7666e4e Import from 1.4.0 2020-09-09 17:31:03 +03:00
Gokhan Simsek 4185b0b19a Patch 1.4.1 2020-09-09 17:30:52 +03:00
Gokhan Simsek a9478b95cc Minor change 2020-09-09 17:14:19 +03:00
Gokhan Simsek c68933f445 #1766: Adding native styles for Windows and macOS 2020-09-09 12:00:18 +03:00
Gokhan Simsek e7dd60c036 #1761 #1768 #1771: macOS: Forcing light mode 2020-09-09 11:58:21 +03:00
Gokhan Simsek 17ca161e55 Minor UI fix 2020-09-09 11:32:39 +03:00
Gokhan Simsek e66f627407 #1766: Windows: Attempt to fix broken native theme 2020-09-09 11:32:20 +03:00
Gokhan Simsek c39312356e AboutDialog: Adding build number 2020-09-09 10:45:18 +03:00
Gökhan Şimşek ac8afdd98f Update CHANGELOG 2020-09-04 16:38:33 +03:00
Gokhan Simsek 21e067937a Linux: Adding libstdc++ shared lib 2020-09-04 11:02:38 +03:00
Gokhan Simsek 12e54ccda9 #1757: Disabling IPv6 due to unexpected behaviors 2020-09-03 14:12:14 +03:00
Gokhan Simsek e658a7b293 Adding clang-tidy results 2020-08-31 11:51:33 +03:00
Gökhan Şimşek 49478e873d Update README.md 2020-08-28 10:13:47 +03:00
Gökhan Şimşek 30efcb2a68 Update README.md 2020-08-27 14:37:01 +03:00
Gökhan Şimşek 7866fde20d Update README.md 2020-08-27 14:32:00 +03:00
Gökhan Şimşek 30e903eec0 Update README.md 2020-08-27 14:28:00 +03:00
Gökhan Şimşek d9dedd37ee Update README.md 2020-08-27 14:26:58 +03:00
Gökhan Şimşek 61d4ea742f Update README.md 2020-08-27 14:26:20 +03:00
Gökhan Şimşek 02594f4dea Update README.md 2020-08-27 14:25:36 +03:00
Gokhan Simsek a61e33cad9 macOS: Adding scan-build output 2020-08-24 09:21:12 +03:00
Gokhan Simsek 347edc4b62 Windows: Adding visual studio RunCodeAnalysis script and some of its results with various rules 2020-08-21 18:16:49 +03:00
Gokhan Simsek 728f29152f macOS: Adding scan-build scripts 2020-08-21 17:21:12 +03:00
Gökhan Şimşek fdde4da323 Update BuildRobo3TOnWindows.md 2020-08-18 11:58:30 +03:00
Gökhan Şimşek 31bcd3609b Update BuildRobo3TOnMacAndLinux.md 2020-08-18 11:56:56 +03:00
Gokhan Simsek ef4b8cd27b Update Bar: Minor change 2020-08-18 10:07:44 +03:00
Gokhan Simsek dcfc524ad7 Spell check 2020-08-18 10:07:29 +03:00
Gokhan Simsek 5c161325bb MainWindow: Updating endpoint URL for updates bar 2020-08-16 13:27:05 +03:00
Gokhan Simsek cd02e61710 WelcomeTab: Updating image and content URLs 2020-08-16 11:53:38 +03:00
Gökhan Şimşek 1ee2e7cd9d Update CHANGELOG 2020-08-12 10:38:26 +03:00
Gokhan Simsek a92edc9fa7 Small update 2020-08-12 09:54:56 +03:00
Gokhan Simsek 3eb03362a4 #1714, #1653: Attempt to fix previously broken IPv6 support 2020-08-07 16:31:37 +03:00
Gokhan Simsek aaf9794491 Minor change 2020-08-07 16:26:20 +03:00
Gokhan Simsek ffe519248f Linux: Run from install dir 2020-08-07 12:08:56 +03:00
Gokhan Simsek ecdc0164ee Changing URL for updates and minor refactoring 2020-08-07 12:07:49 +03:00
Gokhan Simsek 2dd7dccaca Minor change 2020-08-04 12:13:05 +03:00
Gokhan Simsek d5780a018a Adding debugLog() function 2020-08-04 12:12:53 +03:00
Gokhan Simsek 7a8b4413fc Adding user controlled debugMode flag into config file 2020-08-04 12:11:59 +03:00
Gokhan Simsek b598062db6 WelcomeTab: Decreasing header font sizes 2020-08-04 10:00:42 +03:00
Gokhan Simsek 78187f9d6d #1685: Adding feature (config file flag) "disableHttpsFeatures", removing "useHttps". 2020-07-31 15:50:11 +03:00
Gokhan Simsek e6c070d469 #1685: Changing all HTTP post/request to HTTPS. 2020-07-31 15:48:09 +03:00
Gökhan Şimşek 750fd9d500 Update BuildRobo3TOnWindows.md 2020-07-30 15:07:51 +03:00
Gökhan Şimşek 9f5e755037 Update BuildRobo3TOnMacAndLinux.md 2020-07-30 15:07:24 +03:00
Gökhan Şimşek f43e7e3665 Update RuntimeDependencies.md 2020-07-30 14:12:22 +03:00
Gökhan Şimşek fc35ae44dd Update BuildRobo3TOnWindows.md 2020-07-27 20:13:33 +03:00
Gökhan Şimşek 805842ae96 Update BuildRobo3TOnWindows.md 2020-07-27 20:10:45 +03:00
Gokhan Simsek fc925444d8 #1696: Attempt to fix the problem when connected with a user defined on a non-admin auth. db, only auth db is shown 2020-07-17 18:47:49 +03:00
Gokhan Simsek 6163b7f7e3 Adding vectorContains() generic helper function 2020-07-15 15:26:24 +03:00
Gokhan Simsek 2dcbc0f5e9 Using manuallyVisibleDbs whether there is an exception or not 2020-07-15 15:25:02 +03:00
Gokhan Simsek 3c05095538 Code review of all Robo 1.4 changes 2020-07-15 10:24:51 +03:00
Gokhan Simsek 27c2bddc5c Adding dependencies into About dialog 2020-07-14 14:55:22 +03:00
Gokhan Simsek 2303d8a547 Minor change 2020-07-14 14:45:23 +03:00
Gökhan Şimşek 03a125e02d Update README.md 2020-07-14 09:59:57 +03:00
Gokhan Simsek 04f4fb4281 Adding esprima info 2020-07-14 09:59:15 +03:00
Gokhan Simsek fd66b3561c Minor refactoring 2020-07-14 09:50:54 +03:00
Gokhan Simsek cb4514e72c Minor change 2020-07-08 16:35:43 +03:00
Gokhan Simsek 27a4ec14c7 Attempt to fix cropped From SRV button text for Win 10 HiDPI 2020-07-08 16:35:18 +03:00
Gökhan Şimşek aa3ebd1f7f Update BuildRobo3TOnMacAndLinux.md 2020-07-08 10:13:43 +03:00
Gokhan Simsek f459a4aacb Merge branch 'master' of https://github.com/Studio3T/robomongo 2020-07-06 18:12:19 +03:00
Gökhan Şimşek 418b47ba3c Update BuildRobo3TOnMacAndLinux.md 2020-07-06 18:05:16 +03:00
Gokhan Simsek 393d09df0d SSH: Adding supported keys info text 2020-07-06 17:41:36 +03:00
Gökhan Şimşek 115d4b582a Update BuildRobo3TOnMacAndLinux.md 2020-07-06 17:39:32 +03:00
Gökhan Şimşek 1c5663dd83 Update RuntimeDependencies.md 2020-07-06 17:37:44 +03:00
Gokhan Simsek 8050e638a9 Open connection settings window relative to parent (connections window) and remember its size 2020-07-02 17:10:48 +03:00
Gökhan Şimşek eb58b93173 Update RuntimeDependencies.md 2020-07-01 10:20:07 +03:00
Gökhan Şimşek 99486802ef Update RuntimeDependencies.md 2020-07-01 10:18:46 +03:00
Gokhan Simsek 6c52d4df9b Updating build diagram 2020-06-30 18:36:39 +03:00
Gokhan Simsek 269e47a249 Disabling a warning 2020-06-30 12:18:59 +03:00
Gökhan Şimşek 5753989b79 Update BuildRobo3TOnMacAndLinux.md 2020-06-30 10:48:04 +03:00
Gokhan Simsek 466be55df4 Updating build diagram 2020-06-30 10:01:01 +03:00
Gökhan Şimşek 74f30b87ad Update BuildRobo3TOnWindows.md 2020-06-29 16:41:23 +03:00
Gökhan Şimşek 63d70483aa Update BuildRobo3TOnMacAndLinux.md 2020-06-29 16:31:14 +03:00
Gokhan Simsek 6b0eaecdf1 #1719, #1530, #1590: For Windows, macOS: Upgrading libssh2 to latest version (v1.9.0) which adds support for ECDSA and ED25519 keys. 2020-06-29 12:12:29 +03:00
Gokhan Simsek 9049457543 Adding version number for third-party libs 2020-06-25 11:48:48 +03:00
Gokhan Simsek f6ac157993 #1728: Removing an obsolete function which caused crash when Users folder expanded and minor refactoring 2020-06-24 17:45:45 +03:00
Gokhan Simsek e7cd0b65d6 Minor refactoring 2020-06-23 10:07:37 +03:00
Gokhan Simsek 8b8b0a1b8c Adding more logging and minor refactoring 2020-06-23 10:03:27 +03:00
Gokhan Simsek 8dae0b7973 Minor change 2020-06-19 11:10:15 +03:00
Gokhan Simsek d1d54c50d7 Adding function sendLog() 2020-06-19 10:24:55 +03:00
Gokhan Simsek 4f82013a55 Minor refactoring 2020-06-18 15:48:19 +03:00
Gokhan Simsek 3a5159b060 Adding APP version into connect function and some refactoring 2020-06-18 14:23:38 +03:00
Gokhan Simsek 617f2d5669 Refactoring 2020-06-18 13:50:25 +03:00
Gokhan Simsek 3d02aa687e Adding logging for scope reset 2020-06-18 11:54:27 +03:00
Gokhan Simsek 3bcd0a8509 #1686 #1628: Attempt to fix these two cases which seems to have the same root cause 2020-06-18 10:28:22 +03:00
Gokhan Simsek c240ab4e8e Updating reconnect handling for failed ExecuteScriptRequest 2020-06-18 09:46:56 +03:00
Gokhan Simsek 8e2d47f793 Fixing logging of failed ping events 2020-06-16 14:07:17 +03:00
Gokhan Simsek 3c993deedf Minor change/fix 2020-06-16 09:33:25 +03:00
Gokhan Simsek 82d7116664 Minor UI changes 2020-06-16 09:33:00 +03:00
Gokhan Simsek 015cea9c07 Making QMessageBox window usage generic 2020-06-15 16:09:03 +03:00
Gokhan Simsek 359c5b3c81 Remove ASCII characters '\t', '\n', '\v', '\f', '\r', and ' ' from msg string 2020-06-15 11:22:51 +03:00
Gokhan Simsek 5c3312179c Updating error handling of failing listdatabase command 2020-06-15 11:16:34 +03:00
Gokhan Simsek 70d5c19a43 Minor refactoring 2020-06-14 18:55:45 +03:00
Gokhan Simsek 9f62c44460 #1696 #1368 #389: Adding feature "Manually specify visible databases" into connection settings auth. tab 2020-06-14 18:55:16 +03:00
Gokhan Simsek 542fd12343 Attempt to fix a bug seen when Collections folder refreshed and replica set is unreachable 2020-06-11 09:16:44 +03:00
Gokhan Simsek 0763be425c Updating code due to the fact that getReplicaSetInfo() may throw now 2020-06-11 09:15:35 +03:00
Gokhan Simsek 6b3c983e67 Minor renaming 2020-06-10 14:05:26 +03:00
Gokhan Simsek 638c7b2fbe Minor refactoring 2020-06-10 13:46:16 +03:00
Gokhan Simsek a55b7c8069 Showing error and hint to the user for the case where Robo fails to get the list of databases 2020-06-10 11:46:30 +03:00
Gokhan Simsek 318fc6d676 Renaming to AddEditIndexDialog 2020-06-09 17:00:18 +03:00
Gokhan Simsek 705a55e49f Adding warning dialog for Edit Index 2020-06-09 16:45:15 +03:00
Gokhan Simsek 39aba89186 Minor change 2020-06-09 14:25:06 +03:00
Gokhan Simsek f7bbbee464 Minor renaming 2020-06-09 14:20:54 +03:00
Gokhan Simsek 48dbd9f7d9 Fix drop index error handling and logging 2020-06-09 14:16:25 +03:00
Gokhan Simsek 1b8ed947f3 Adding new event AddEditIndexResponse 2020-06-09 11:48:00 +03:00
Gokhan Simsek cb3ff65d05 Renaming to DropCollectionIndexResponse 2020-06-09 09:48:33 +03:00
Gokhan Simsek d32581084d Code refactoring 2020-06-08 18:14:34 +03:00
Gokhan Simsek 950b25236c Renaming ExplorerCollectionIndexesTreeItem to ExplorerCollectionIndexItem 2020-06-08 18:01:00 +03:00
Gokhan Simsek fecdbc8658 Renaming ExplorerCollectionDirIndexesTreeItem to ExplorerCollectionIndexesDir 2020-06-08 16:54:22 +03:00
Gokhan Simsek 1e8932b390 Removing unused code 2020-06-08 14:24:57 +03:00
Gokhan Simsek 28ae1d81a8 #1692: Try to recover(create) the dropped (old) index when the creation of new index fails 2020-06-08 14:00:34 +03:00
Gokhan Simsek d7ad941d1e #1692: Renaming to IndexInfo 2020-06-08 10:52:08 +03:00
Gokhan Simsek 0ebbf9ab33 #1692: Renaming and cleaning unused code 2020-06-08 10:50:12 +03:00
Gokhan Simsek 7c4282688a #1692: Removing unsupported "drop duplicates" option 2020-06-07 18:01:13 +03:00
Gokhan Simsek e892601440 #1692: Ceate & edit index: Fix for not working "text weights" 2020-06-07 17:18:01 +03:00
Gokhan Simsek dbda800374 #1692: Re-writing buggy create & edit index, removing dependency to old index data (oldInfo) 2020-06-07 16:44:45 +03:00
Gokhan Simsek ba0f5edfea #1692: First changes to get create & edit index work with MongoDB 4.2 2020-06-05 18:08:35 +03:00
Gokhan Simsek 5953c9cccb Minor change 2020-06-04 16:57:12 +03:00
Gokhan Simsek ba95dddf12 Minor changes 2020-06-01 14:36:23 +03:00
Gokhan Simsek 10371accfb Removing "Optional" string from "Set Name" label due to confusions reported by users 2020-06-01 10:30:57 +03:00
Gokhan Simsek 815d6c1286 Try to get the last error for all connections 2020-06-01 10:23:59 +03:00
Gokhan Simsek c00c0cb387 Removing unused class 2020-05-29 10:35:24 +03:00
Gokhan Simsek c8433a884b Additional change for previous commit 2020-05-29 10:34:56 +03:00
Gokhan Simsek 7f2aad3593 Renaming SSL to TLS 2020-05-28 16:40:19 +03:00
Gokhan Simsek cfedd020b9 Deleting no longer working code 2020-05-28 10:09:54 +03:00
Gokhan Simsek 116f5b5c54 Fix for Robo failing give error and got stuck connecting gif for unreachable Mongo Atlas connections 2020-05-27 09:22:54 +03:00
Gokhan Simsek 5b3b3fdf84 First working connection to Mongo Atlas 2020-05-22 09:34:27 +03:00
Gokhan Simsek 84bc19f71f Adding Program Architecture.jpg 2020-05-21 09:22:43 +03:00
Gokhan Simsek a8ddba48b7 Fix macOS and ubuntu build error for previous commit 2020-05-20 12:22:47 +03:00
Gokhan Simsek fac8d9dcab Refactoring App::_servers into unique_ptr 2020-05-20 10:47:01 +03:00
Gokhan Simsek f561dc7191 Need to delete server first since its address is taken from shell 2020-05-18 16:57:34 +03:00
Gokhan Simsek 116014918b Fix linux packaging error 2020-05-18 12:57:50 +03:00
Gokhan Simsek 0d9543a0d8 Adding config. file path of version 1.3.1 2020-05-18 12:35:27 +03:00
Gokhan Simsek f75f210675 Update duplicateCollection() 2020-05-15 11:47:12 +03:00
Gokhan Simsek cbc3c93fae Cleaning getFunctions() 2020-05-15 11:01:19 +03:00
Gokhan Simsek f2f91d23a9 Refactoring App::closeShell() function 2020-05-14 15:24:20 +03:00
Gokhan Simsek a976a59ce2 Windows: Adding script to automate installing debug dlls 2020-05-14 10:36:28 +03:00
Gokhan Simsek 87f07c6509 Fix for broken script engine and removing _dbAuth due to mongo commit 82e05d6: SERVER-39128 Avoid double-authentication 2020-05-13 11:07:31 +03:00
Gokhan Simsek 04c369cdf8 Minor fix for clang warning 2020-05-11 17:27:07 +03:00
Gokhan Simsek 9c1d4ac2fc Forgotten if defines for previous commit 2020-05-11 17:13:06 +03:00
Gokhan Simsek 391b45fba1 Linux: Suppressing a warning from qscintilla library 2020-05-11 17:02:30 +03:00
Gökhan Şimşek 7184e02207 Update BuildRobo3TOnWindows.md 2020-05-11 12:16:24 +03:00
Gökhan Şimşek 96693edb8b MongoDB 4.2: Update build doc. for macOS & Ubuntu 2020-05-08 18:16:57 +03:00
Gökhan Şimşek 6eb2f24bb1 MongoDB 4.2: Update build doc. for Windows 2020-05-08 15:46:28 +03:00
Gokhan Simsek 1dc8f1b30a Ubuntu: Adding roboshell build objects 2020-05-08 11:04:04 +03:00
Gokhan Simsek 8d20980aa9 macOS and Ubuntu: Disabling sprintf format warnings for external code 2020-05-07 16:52:39 +03:00
Gokhan Simsek a01868c49c macOS and Ubuntu: Disabling warning unused return value. This source file comes from mongo. 2020-05-07 15:09:15 +03:00
Gokhan Simsek 0764d25df4 Ubuntu: Adding -lcurl 2020-05-07 11:32:03 +03:00
Gokhan Simsek 44906870e4 macOS: First version builds with roboshell-v4.2 2020-05-06 13:46:23 +03:00
Gokhan Simsek 6ec34a9936 First version builds with roboshell-v4.2 and connects to local MongoDB version 4.2 server on Windows 2020-04-30 21:46:48 +03:00
Gökhan Şimşek 2b72077225 Create cppcheck_output_Apr2019 2019-04-12 17:12:22 +03:00
Gökhan Şimşek 0d1627d243 Update BuildRobo3TOnWindows.md 2019-04-04 09:52:46 +03:00
Gökhan Şimşek 63d288d85f Update BuildRobo3TOnMacAndLinux.md 2019-04-04 09:43:34 +03:00
Gokhan Simsek fb4aaa54ad Adding Welcome_Tab.jpg 2019-04-03 12:24:32 +03:00
Gokhan Simsek 7419c4060e WelcomeTab: Enabling using of HTTPS for RSS download for Linux 2019-03-22 10:20:47 +03:00
Gokhan Simsek be89b5c12a WelcomeTab: Final UI adjustments 2019-03-22 10:20:05 +03:00
Gökhan Şimşek e34f24e183 Update README.md 2019-03-18 16:19:13 +03:00
Gökhan Şimşek 0a98ba0487 Update README.md 2019-03-18 16:18:00 +03:00
Gökhan Şimşek 5a70800a31 Update README.md 2019-03-18 16:14:35 +03:00
Gokhan Simsek bbc0eb8d6f Updating changelog for version 1.3 2019-03-18 15:47:23 +03:00
Gokhan Simsek 8a1cca4198 #731: Making SSL "pemPassphrase" encrypted as well in config file 2019-03-16 15:06:50 +03:00
Gokhan Simsek 3f2ef3b8b5 Code comments refactoring 2019-03-16 14:37:40 +03:00
Gokhan Simsek 2e31e70881 Making SSH "passphrase" in config file encrypted 2019-03-16 14:37:10 +03:00
Gokhan Simsek 8e8d655e66 Creating config. folder tree and file before everything 2019-03-13 17:18:15 +03:00
Gokhan Simsek d138308fce Adding beta config. file path and disabling beta version 2019-03-13 16:10:30 +03:00
Gokhan Simsek 7ed61ccbb6 Code review between commits 2e371d2 and 8f00817: Minor refactorings 2019-03-13 15:40:19 +03:00
Gokhan Simsek 29a91f4730 Code review between commits 2e371d2 and 8f00817: Minor comment only changes 2019-03-13 15:39:33 +03:00
Gokhan Simsek 8f00817927 Minor UI fix for Windows 2019-03-13 09:28:19 +03:00
Gokhan Simsek 0696b8d073 Adding horizontal line for New Feature: Support DNS SRV based MongoDB connections #1588 2019-03-12 12:12:59 +03:00
Gokhan Simsek de247b3b5b Linux UI refactoring for New Feature: Support DNS SRV based MongoDB connections #1588 2019-03-12 12:06:12 +03:00
Gokhan Simsek 0dfe32f594 MacOS UI refactoring for New Feature: Support DNS SRV based MongoDB connections #1588 2019-03-12 10:28:29 +03:00
Gokhan Simsek 5d3f2cd6fa Windows UI refactoring for New Feature: Support DNS SRV based MongoDB connections #1588 2019-03-12 10:16:34 +03:00
Gokhan Simsek 8c48d6a90f Adding error handling and logging for initKey() #731 2019-03-07 14:40:26 +03:00
Gokhan Simsek a58c15aee3 Adding random key generation and save/load from local key file for #731 2019-03-07 09:15:06 +03:00
Gokhan Simsek f27efd7af0 Linux UI adjustments for New Feature: Support DNS SRV based MongoDB connections #1588 2019-03-06 09:33:04 +03:00
Gokhan Simsek 6882dff4fc MacOS UI adjustments for New Feature: Support DNS SRV based MongoDB connections #1588 2019-03-05 16:56:54 +03:00
Gokhan Simsek 230eb927a0 Adding SSL tab and Advanced tab changes for new feature: Support DNS SRV based MongoDB connections #1588 2019-03-04 17:09:44 +03:00
Gokhan Simsek 365a067755 First changes for New Feature: Support DNS SRV based MongoDB connections #1588 2019-03-04 14:30:03 +03:00
Gokhan Simsek b2751af4e3 Fixing alignment problem of Default Database text in connection settings dialog 2019-03-04 09:45:30 +03:00
Gokhan Simsek f83772efb9 First code changes for #1588: New Feature: Support DNS SRV based MongoDB connections. And some UI size and alignment updates 2019-03-01 17:16:37 +03:00
Gokhan Simsek 23b23e0e86 Tabbed output feature: Close tab on middle mouse button 2019-02-27 11:03:28 +03:00
Gokhan Simsek 98d6871300 Tabbed output feature: Fixing some visual issues for MacOS 2019-02-26 17:57:02 +03:00
Gokhan Simsek 21978735a1 #1591 #1403: Tabbed output feature: Adding tooltip to show full statement on tab hover 2019-02-26 15:58:08 +03:00
Gokhan Simsek d3a3d8b6ef Some refactoring and fixing bug related to button "maximize output" 2019-02-26 15:54:38 +03:00
Gokhan Simsek 97af0e28fc #1591 #1403: Tabbed output feature: Some style changes for all platforms 2019-02-26 11:22:47 +03:00
Gokhan Simsek 7c68547dfa Minor correction 2019-02-26 09:42:25 +03:00
Gokhan Simsek 7d30c12fb7 Minor refactoring 2019-02-26 09:36:57 +03:00
Gokhan Simsek 0f551b6d25 #1591 #1403: Tabbed output feature: Visual adjustments for MacOS 2019-02-26 09:36:32 +03:00
Gokhan Simsek 198803dee0 #1591 #1403: Tabbed output feature: Setting tab title to short query string 2019-02-23 17:26:50 +03:00
Gokhan Simsek 1d9d6941ec New feature tabbed output window for query results more than 2. #1591 #1403. 2019-02-23 15:20:11 +03:00
Gokhan Simsek 3deba89063 Unit tests for RoboCrypt basic functionality 2019-02-22 12:45:02 +03:00
Gokhan Simsek 4d93a94ef6 Updating configuration summary 2019-02-21 17:51:16 +03:00
Gokhan Simsek 8b34c228e7 Updating configuration summary 2019-02-21 17:46:52 +03:00
Gokhan Simsek 7d2bfd702c Robo 1.3: To silence CMake warning: "Policy CMP0071 is not set: Let AUTOMOC and AUTOUIC process GENERATED files." 2019-02-21 17:46:28 +03:00
Gokhan Simsek 09d42500e6 Linux: Updating unit test cmake file - linking is still not working 2019-02-21 15:15:01 +03:00
Gökhan Şimşek 51f0f94a37 Update BuildRobo3TOnMacAndLinux.md 2019-02-21 12:08:55 +03:00
Gokhan Simsek 293564be75 Windows: Need to install Qt DLLs for robo_unit_tests exe 2019-02-21 11:53:32 +03:00
Gokhan Simsek 4917f8df79 Adding RoboCrypt unit test file and major refactoring of robo unit tests cmake file 2019-02-21 10:02:01 +03:00
Gokhan Simsek 0def5df6c8 More changes for #731: Minor changes 2019-02-20 09:41:04 +03:00
Gokhan Simsek 83696b3a99 Updating run_tests script 2019-02-19 17:59:05 +03:00
Gokhan Simsek 7a2c7f83aa Refactoring unit test cmake file and disabling unit testing for Linux 2019-02-19 17:52:19 +03:00
Gokhan Simsek 2547311ef4 Attempt to fix #731: Robomongo stores passwords in plain text 2019-02-19 10:52:46 +03:00
Gokhan Simsek 5eea6e491a #1554: Changes for support for creating version 4 UUID 2019-02-19 10:27:14 +03:00
Gokhan Simsek 57984545ab Putting uuidhelpers.js back in order to modify it 2019-02-19 10:26:17 +03:00
Gokhan Simsek d19c51c517 Minor refactorings 2019-02-18 22:58:54 +03:00
Gokhan Simsek 94860b6995 Adding schematics 2019-02-18 18:30:53 +03:00
Gokhan Simsek 43c1cea1d2 Minor renaming 2019-02-18 09:33:34 +03:00
Gokhan Simsek 3b188a9970 Minor refactorings and minor fix 2019-02-18 09:09:24 +03:00
Gokhan Simsek e1066e203f Changes to correctly capture error message for replica set connections 2019-02-13 20:09:15 +03:00
Gokhan Simsek e74d67db3a Fix for #1529: Pagination does not work when the aggregation queries have dotted fields 2019-02-13 15:46:56 +03:00
Gokhan Simsek e759173e46 Adding googletest into cmake config summary 2019-02-12 08:38:21 +03:00
Gokhan Simsek f1875f09aa Windows: googletest more changes 2019-02-11 15:22:51 +03:00
Gokhan Simsek fbf2506f86 Linux: Partly working version of unit tests 2019-02-11 05:53:24 -05:00
Gokhan Simsek 315db7e8fa MacOS: Completely working version of unit tests 2019-02-10 11:32:30 +03:00
Gokhan Simsek 75a89b8859 Minor change 2019-02-10 00:58:04 +03:00
Gokhan Simsek 6d151f33ad Windows: Completely working version of unit tests 2019-02-10 00:56:59 +03:00
Gokhan Simsek bd801281db Fix for broken features "Update Documents" and "Duplicate query in new tab" - they should not execute any script. 2019-02-08 10:24:52 +03:00
Gokhan Simsek eba49439ac Fixing UI issue where Functions folder freezing with "Functions..." when fails to refresh 2019-02-07 08:51:35 +03:00
Gokhan Simsek bc64d09a8f Removing unused parameter "overwrite" for create user action 2019-02-07 08:49:20 +03:00
Gokhan Simsek 68bfc679df #638 #1041: Adding View User functionality instead of Edit User 2019-02-06 18:36:34 +03:00
Gokhan Simsek 82f090f517 Attempt to fix #638 #1041: Updating drop user code 2019-02-06 15:26:47 +03:00
Gokhan Simsek d58043149b Attempt to fix #638 #1041: MongoClient getUsers() updated and so in UI database explorer previously not visible users are now visible. And removing unused MongoUser code. 2019-02-05 23:04:41 +03:00
Gokhan Simsek 690586b655 Attemp to fix #638 #1041: View users code updated. And UI change: Disabling user source and password mutual exclusivity. 2019-02-02 18:35:37 +03:00
Gokhan Simsek f6d37904d5 Attemp to fix #638 #1041: Create user code updated 2019-02-02 18:32:57 +03:00
Gokhan Simsek b50677ac11 Minor refactoring 2019-02-01 22:53:45 +03:00
Gokhan Simsek 509062e478 Showing error string from Mongo for connection failures 2019-02-01 09:14:18 +03:00
Gokhan Simsek fa930c94ed To prevent the problem where sometimes refresh tab query can be earlier than the main CRUD operation when the local servers are used 2019-01-19 20:46:37 +03:00
Gokhan Simsek 545331f8e6 Attempt to fix #1581: For remove document(s) ops showing progress bar and disabling context menu while waiting operation to finish 2019-01-19 20:43:29 +03:00
Gokhan Simsek 15c5868274 Attempt to fix #1581: For insert document ops showing progress bar and disabling context menu while waiting operation to finish 2019-01-19 18:11:04 +03:00
Gokhan Simsek eca6cc16cc Attempt to fix #1581: For edit document ops showing progress bar and disabling context menu while waiting for edit op to finish 2019-01-19 17:19:41 +03:00
Gokhan Simsek 2340149f25 #1603: Attempt to fix major connection problems seen with the second edit/add/remove doc. operation after MongoDB 4.0 upgrade 2019-01-19 17:06:08 +03:00
kathrynvargas d9abb535fa Update README.md 2019-01-18 12:21:22 +01:00
Gokhan Simsek 6682ddce52 Changes needed after upgrading mongo version from 4.0.4 to 4.0.5 2019-01-14 22:25:11 +03:00
Gokhan Simsek 49207c04ff Disabling google test temporarily 2019-01-14 22:24:10 +03:00
Gokhan Simsek 735ca6e1d5 Seting CMAKE_OSX_DEPLOYMENT_TARGET 10.11 2019-01-04 11:31:23 +03:00
Gokhan Simsek 071bec0924 First working version with dummy unit tests 2019-01-04 09:44:47 +03:00
Gokhan Simsek 1ae1466cad Adding googletest-1.8.1 2019-01-04 09:44:05 +03:00
Gökhan Şimşek 270d8f7035 Create .travis.yml 2019-01-02 10:21:30 +03:00
Gökhan Şimşek b162d24b86 Update BuildRobo3TOnMacAndLinux.md 2018-12-30 23:40:09 +03:00
Gökhan Şimşek 650277f8f6 Update BuildRobo3TOnMacAndLinux.md 2018-12-30 23:39:12 +03:00
Gökhan Şimşek a1d230ba9c Update BuildRobo3TOnMacAndLinux.md 2018-12-30 21:13:09 +03:00
Gokhan Simsek 8d8169d5b6 #1569: Adding support for SCRAM-SHA-256 auth mechanism 2018-12-29 11:40:10 +03:00
Gokhan Simsek 696aa2d67f Fix for application crash when adding index with invalid JSON 2018-12-28 11:28:33 +03:00
Gokhan Simsek 12c94c9908 Forgotten change for 2 previous commit cb48b0b 2018-12-28 10:00:14 +03:00
Gokhan Simsek 25c1fdc365 Attemp to fix #1547: Crash when right click on existing results plus a new long running query 2018-12-27 11:03:29 +03:00
Gokhan Simsek cb48b0bfa6 Removing the uuidhelpers.js due to the fact that it breaks the usage of new feature UUID() without parameter and seems that it is not needed anymore. 2018-12-27 10:58:36 +03:00
Gokhan Simsek 27f825527e Fix for #1551: Robo 3T the input space causes connection failure 2018-12-19 23:30:40 +03:00
Gokhan Simsek 1cec948022 #1568: Adding confirm dialog for 'Repair Database' action 2018-12-19 22:25:07 +03:00
Gokhan Simsek 7a0fd3f165 Windows: Adding generic SDK Lib path 2018-12-19 13:18:40 +03:00
Gökhan Şimşek 4071a83ab9 Update README.md 2018-12-19 12:38:18 +03:00
Gokhan Simsek 8078ccc8db Importan fix: Catching exception instead of runtime_error in MongoWorker. This fixes crash problem when creating db with a string which contains whitespace. 2018-12-19 12:14:53 +03:00
Gokhan Simsek 47bb0619b6 Ubuntu: First version which builds, runs and connects to localhost (linked to robo-shell-4.0.4 commit 9db1ab) 2018-12-11 01:50:15 -05:00
Gokhan Simsek 8e06a1e78d Project version change to 1.3.0 Beta 2018-12-10 16:41:43 +03:00
Gökhan Şimşek b296874fc4 Update BuildRobo3TOnMacAndLinux.md 2018-12-09 12:20:39 +03:00
Gökhan Şimşek c7ef849905 Update BuildRobo3TOnMacAndLinux.md 2018-12-09 12:14:11 +03:00
Gökhan Şimşek ec917a651b Update BuildRobo3TOnMacAndLinux.md 2018-12-09 12:13:29 +03:00
Gökhan Şimşek a403b33eae Update RuntimeDependencies.md 2018-12-09 10:06:17 +03:00
Gökhan Şimşek 359cb93566 Update BuildRobo3TOnWindows.md 2018-12-06 17:04:07 +03:00
Gökhan Şimşek 367cc8dd08 Update BuildRobo3TOnMacAndLinux.md 2018-12-06 15:09:48 +03:00
Gökhan Şimşek 6d647c9985 Update BuildRobo3TOnWindows.md 2018-12-06 15:09:43 +03:00
Gokhan Simsek 15e95777f2 First version which builds, runs and connects to localhost on MacOS (linked to robo-shell-4.0.4 commit 9db1ab) 2018-12-06 11:45:36 +03:00
Gokhan Simsek 5dd5019f57 First version which connects to localhost on Windows linked to robo-shell-4.0.4 commit 9db1ab 2018-12-05 21:28:42 +03:00
Gökhan Şimşek f56ff4f5f2 Update BuildRobo3TOnMacAndLinux.md 2018-11-23 16:48:46 +03:00
Gökhan Şimşek b13951e2a3 Update BuildRobo3TOnWindows.md 2018-11-23 15:04:53 +03:00
Gökhan Şimşek eb1e895c0c Update BuildRobo3TOnWindows.md 2018-11-23 11:30:10 +03:00
Gökhan Şimşek 9caacc088b Update BuildRobo3TOnWindows.md 2018-11-19 16:29:50 +03:00
Gökhan Şimşek 7543f5ea09 Update BuildRobo3TOnWindows.md 2018-11-14 22:02:43 +03:00
Gökhan Şimşek 2e371d2d12 Update README.md 2018-02-22 12:11:23 +02:00
Tomasz Naumowicz 290b73d981 Changelog for version 1.2, updated the release date. 2018-02-19 16:12:08 +01:00
Tomasz Naumowicz 92ac5d97e5 Update README.md for 1.2 version 2018-02-19 12:56:07 +01:00
Gökhan Şimşek ac84129ef8 Update README.md 2018-02-09 13:36:00 +03:00
Gökhan Şimşek 3e50a6500c Update README.md for 1.2 version 2018-02-08 11:24:04 +03:00
Gokhan Simsek c90f3250bf Changelog for version 1.2 2018-02-08 11:06:42 +03:00
Gokhan Simsek e29c577104 Code Review: Between this commit and commit f48cffd, minor changes. 2018-02-07 17:31:44 +03:00
Gokhan Simsek d08643b0c0 Using PROJECT_VERSION as URL directory for image.png and content.txt 2018-02-07 17:30:22 +03:00
Gokhan Simsek 94535d7e38 Minor enhancement: Detect scientific notation with case insensitively 2018-02-05 13:17:02 +03:00
Gokhan Simsek 3ed6f17f28 Enabling Eula dialog form page for Linux which was previously disabled due to crashes 2018-02-05 13:07:07 +03:00
Gokhan Simsek e593403f2e Send the set of unique db version strings within call-home data with checkUpdates() function instead of sending in MongoServer. 2018-02-02 17:06:21 +03:00
Gokhan Simsek bf94b75960 Feature: Save a set of unique db version strings connected in config file and send this data to remote server only when we connect to a new unique db version. 2018-02-02 16:37:00 +03:00
Gokhan Simsek b263bd476a Adding phone and company into UI. Adding phone, company, os and timezone fields into JSON document that is sent to server. 2018-02-02 12:39:54 +03:00
Gokhan Simsek 1fbbde21be Adding feature to be able to find and import anonymousID from newer config files whose paths are unknown to current (this) version 2018-02-01 13:23:41 +03:00
Gokhan Simsek e4ed721fd0 Fixing trailing zero issue for small double values and minor refactoring. 2018-01-31 14:21:07 +03:00
Gokhan Simsek 62d7bda1e2 Double check this is an aggregate call 2018-01-30 17:22:50 +03:00
Gokhan Simsek dcd1d96b28 Reverting back to original solution, disabling trailing zeros for scientific format values, disabling scientific format for frequently used e+15 and e+16 values. 2018-01-30 16:29:10 +03:00
Gokhan Simsek 229cdc8c4e Removing redundant copy assignment operator 2018-01-29 11:00:03 +03:00
Gokhan Simsek 79cbc8784d Adding split results view with resultIndex support for aggregate. 2018-01-22 18:00:35 +03:00
Gokhan Simsek 36295161f5 Cleaning code for aggregate feature 2018-01-20 18:47:48 +03:00
Gokhan Simsek 1e2987500d First working version of aggregate with captured parameters and using $skip and $limit for paging 2018-01-19 10:07:48 +03:00
Gokhan Simsek 8bc0b134d2 Attempt to fix macOS not visible tab close button. Upgrading close tab icons image quality. Better tab icon-text alignment for macOS. More visible tab text by allowing more text space. 2018-01-11 22:41:02 +03:00
Gokhan Simsek 1c64d27da9 Removing manually maintained qzipreader class and adding qzip folder as a more permanent solution 2018-01-09 12:57:43 +03:00
Gokhan Simsek ceb7e2fbe6 Updating version from 1.2.0-Beta to 1.2.1 2018-01-09 12:47:51 +03:00
Gokhan Simsek 657e1bfd54 Double confirm if statement is an aggregate query by firstly checking query output and secondly by checking if the statement itself contains "aggregate(" string. 2018-01-03 15:12:00 +03:00
Gokhan Simsek b3c07a05a3 Cleaning last character of aggregate query in order to run/get "_batch" element and array slice 2018-01-03 12:46:28 +03:00
Gokhan Simsek 44574cd14f #1058: First working version of aggregate queries fix 2018-01-03 12:10:48 +03:00
Gokhan Simsek b48dc0b907 #1155, #1447: Attempt to fix double type issues: scientific format problems, incorrect value representation for 15 digit precision, -Infinity problem. 2017-12-24 20:43:43 +03:00
Gokhan Simsek 8a15ca9a66 #1282, #1093: Disabling editing if query has projection 2017-12-20 13:31:04 +03:00
Gokhan Simsek 95d1b3f49a Minor refactoring 2017-12-19 08:42:04 +03:00
Gökhan Şimşek 67cd8a2a33 Update CHANGELOG 2017-12-18 19:56:29 +02:00
Gokhan Simsek 3d2f8b8fd1 An attempt to fix some SSH connection failures by changing the order of key exchange methods. This change still fixes the previous problem reported in ticket #1090. 2017-12-18 20:39:52 +03:00
Gokhan Simsek 2fc8a2a921 Changes for 1.2 Beta release 2017-12-18 20:34:39 +03:00
Gokhan Simsek e77b16d0fe Updating application string to "robo3t" which was seen as "Robomongo" in mongodb log. And one more string related change. 2017-12-13 20:29:09 +03:00
Gokhan Simsek c83bd6e1dd Using HTTP instead of HTTPS in the case of program crashes or abnormal exit due to HTTPS usage in EulaDialog form submit or WelcomeTab. 2017-12-13 16:12:29 +03:00
Gokhan Simsek 3c93f1fcaa Removing duplicate patch file. Updating settings manager with new Qt version 2017-12-06 11:00:55 +03:00
Gokhan Simsek 4f425b9604 Attempt to solve build problem on MacOS High Sierra with QScintilla patch 2017-12-05 10:12:26 +03:00
Gokhan Simsek e2bc0ad7b3 Merge commit 'e13d41cabecfdc966a030d2b5fdb23a2d9bde9a5' 2017-12-05 10:09:26 +03:00
Gokhan Simsek d399bcc6cd #1454: Code change to fix the problem "Cannot load list of indexes" error in the related ticket. Solution is to use non-throwing mongo::BSONObj getField* functions instead of throwing BsonUtils functions. 2017-12-04 16:48:58 +03:00
Gokhan Simsek 5167c65ae3 Changing project version to Robo 1.2. Adding latest config. file into auto import list. 2017-12-04 09:39:13 +03:00
Dor Fire e13d41cabe Reverted header version change 2017-10-19 21:31:29 +03:00
Dor Fire da526f9d8e Added precision=3 to query time formatting 2017-10-19 21:27:25 +03:00
Dor Fire facaec61d9 Fixed QT lib path 2017-07-10 10:15:39 +03:00
Dor Fire 993e6898f3 Added QScintilla patch and build note 2017-07-10 10:15:23 +03:00
Gökhan Simsek f48cffdb2c Adding how to build/clean Robo Shell and Robo 3T in debug mode for Mac and Linux 2017-07-04 16:37:17 +03:00
Gökhan Simsek 74ce2ea6f8 Adding how to build/clean Robo Shell and Robo 3T in debug mode 2017-07-04 15:32:21 +03:00
Gökhan Simsek 2d358bfb9e Update README.md 2017-07-04 11:31:26 +03:00
Gökhan Simsek a826e5ad2f Update BuildRobo3TOnMacAndLinux.md 2017-06-27 12:39:58 +03:00
Gökhan Simsek 1a75ff2746 Update BuildingRobomongoOnWindows.md 2017-06-27 12:32:57 +03:00
Gökhan Simsek 5b3b3fca48 Update BuildingRobomongo.md 2017-06-27 12:32:42 +03:00
Gökhan Simsek 4011f621eb Update BuildingMongoDB.md 2017-06-27 12:32:12 +03:00
Gökhan Simsek 35d7cd00cf Update BuildRobo3TOnMacAndLinux.md 2017-06-27 12:26:14 +03:00
Gökhan Simsek 9074e23b18 Rename BuildRobo3TOnWindows to BuildRobo3TOnWindows.md 2017-06-27 12:24:45 +03:00
Gökhan Simsek 03fbda9043 Rename BuildRobo3TOnMacAndLinux to BuildRobo3TOnMacAndLinux.md 2017-06-27 12:24:16 +03:00
Gökhan Simsek eee5edf45d Update and rename BuildRobo3TShell to BuildRobo3TShell.md 2017-06-27 12:23:43 +03:00
Gökhan Simsek 1e7df0abca Adding new document for "Building Robo 3T Shell" 2017-06-27 12:22:02 +03:00
Gökhan Simsek e690a54b06 Build Doc Robo 3T (Mac OS X and Linux) for MongoDB3.4 2017-06-27 12:15:30 +03:00
Gökhan Simsek bcf510df3d Update BuildRobo3TOnWindows 2017-06-27 12:13:09 +03:00
Gökhan Simsek a85a1feba0 Build Doc Robo 3T (Windows) for MongoDB3.4 2017-06-27 12:06:40 +03:00
Gökhan Simsek b8a4da7efc Update README.md 2017-06-19 10:36:02 +03:00
Gökhan Simsek 02c156e41e Update README.md 2017-06-19 10:34:54 +03:00
Gökhan Simsek ea77f76415 Update README.md
version 1.1 changes
2017-06-19 10:30:22 +03:00
Gokhan Simsek c93c6b0276 WelcomTab: Fixing a problem where main header text gets hidden at first launch 2017-06-14 11:42:51 +03:00
Gokhan Simsek 36dbc07baf Fixing wrong return type 2017-06-14 10:38:44 +03:00
Gokhan Simsek ff5d70590b WelcomeTab: Fix for the problem where image was shown very big at first launch 2017-06-14 10:21:39 +03:00
Gokhan Simsek 388075378f Adding functionality to import UUID from old config files. 2017-06-14 09:36:45 +03:00
Gokhan Simsek 82612e5cd4 Fixing problem Welcome Tab not loading from cache properly 2017-06-13 10:53:11 +03:00
Gokhan Simsek b03527a7ad Change log for version 1.1 2017-06-12 11:05:54 +03:00
Gokhan Simsek 01633ee08e Fixing minor text issues with change shell timeout dialog 2017-06-12 11:05:11 +03:00
Gokhan Simsek b9b454be9c Adding C++14 support for MAC and Linux compilers 2017-06-12 09:41:05 +03:00
Gokhan Simsek 2d021c80d3 Adding support for import connections from version 1.1.0-Beta 2017-06-12 09:40:22 +03:00
Gokhan Simsek 0a1819eec2 #1373: Fix for dmg installer icons are not aligned problem for MAC 2017-06-08 10:31:00 +03:00
Gokhan Simsek 90f6794e7d WelcomeTab: Updating URL folder for picture and text to '3' for new version 1.1.0. 2017-06-08 09:45:28 +03:00
Gokhan Simsek 92d2e9e031 #1369, #1349: Fix to prevent MAC OS Sierra crash related to updates notification bar height calculation 2017-06-07 18:09:11 +03:00
Gokhan Simsek c5d88c244d Minor text change for menu item "Change Shell Timeout" 2017-06-07 18:04:09 +03:00
Gokhan Simsek 0fcc30e22b Changing config file folder name to robo-3t and config file name to robo3t.json 2017-06-07 18:03:21 +03:00
Gökhan Simsek e31414b610 Update README.md 2017-06-06 13:08:45 +03:00
Gökhan Simsek 744d693d90 Update README.md 2017-06-06 13:05:26 +03:00
Gokhan Simsek d62d1f46e4 Enabling SSH and SSL options to be enabled at the same time 2017-05-23 09:57:32 +03:00
Gokhan Simsek 615c370e51 Attempt to fix "Add, Edit and Drop Function" operations which were not working with Atlas 3.4 free cluster 2017-05-23 09:46:45 +03:00
Gokhan Simsek bc8bb0b03a LoadFunctions: Adding secondary way to get functions list with script engine due to a problem where empty functions list returned by client getFunctions() function for Atlas 3.4 cluster 2017-05-23 09:08:35 +03:00
Gokhan Simsek 700967baca To fix MAC build error 2017-05-22 14:00:47 +03:00
Gökhan Simsek 70ad4a7035 Update README.md 2017-05-22 10:49:46 +03:00
Gokhan Simsek 4f29fd3790 Additional changes related to rebranding 2017-05-20 13:50:20 +03:00
Gokhan Simsek 5785ee2bc2 #1106: Adding ChangeShellTimoeutDialog and functionality to be able to change shell timeout ("shellTimeoutSec") at program run time (and save into config file), effective immediately on all existing/new tabs and persistent after program restart. 2017-05-20 13:49:27 +03:00
Gokhan Simsek 0584da0611 To fix a bunch of "macro redefinition" build warnings 2017-05-19 18:18:15 +03:00
Gokhan Simsek 164fdeeb92 #1106: Attempt to detect and inform user about popular problem where the long lasting scripts were ending prematurely and silently due to shell timeout reached ("shellTimeoutSec" parameter in config file) 2017-05-19 18:16:22 +03:00
Gokhan Simsek 5d97f9db15 Rebranding to "Robo 3T" 2017-05-19 15:22:29 +03:00
Gokhan Simsek 968a4fe04b Refactoring and simplifying import connections code to make it much easier to maintain for the next releases 2017-05-16 16:24:45 +03:00
Gokhan Simsek e2c5b44408 Adding new error message retriever/handler for drop database and drop collection operations which has been broken after 3.4 transition 2017-05-16 16:06:39 +03:00
Gokhan Simsek 5bcb75019a Cleaning of todos in code and some minor refactoring 2017-05-16 16:02:43 +03:00
Gokhan Simsek 1733a525e0 Change to fix "error on loading indexes" problem (Due to 3.4 API change, dbname is needed to be added manually while creating mongo namespace strings i.e. db1.coll1) 2017-05-15 17:53:56 +03:00
Gokhan Simsek fba5585f77 #1348: Making "View Document" operation non-modal (not blocking) again 2017-05-15 12:12:43 +03:00
Gokhan Simsek e1227bf0f8 Adding installation of required run time dependencies for Ubuntu 2017-05-12 10:32:39 +03:00
Gokhan Simsek 5349d34513 Minor typo on cmake project version 2017-05-11 16:14:38 +03:00
Gokhan Simsek 465599701c Adding "-beta" into cmake project version 2017-05-11 16:05:19 +03:00
Gokhan Simsek e91c13cbf8 Minor change on CHANGELOG for 1.1.0 Beta 2017-05-11 14:46:41 +03:00
Gokhan Simsek 604d89c2c6 WelcomeTab: Updating URLs to version '2' which corresponds to 1.1.0 Beta. 2017-05-11 14:46:02 +03:00
Gökhan Simsek 19f42ecfd1 Update README.md 2017-05-11 14:23:55 +03:00
Gökhan Simsek 0d55c20c26 Update CHANGELOG
Version 1.1 Beta changes
2017-05-11 14:19:43 +03:00
Gökhan Simsek 26d4b91251 Update README.md
Updating in-progress section
2017-05-10 18:14:22 +03:00
Gokhan Simsek 6836254234 Adding import connections capability from 1.0.0 to 1.1.0 2017-05-10 17:58:12 +03:00
Gokhan Simsek 5162291f9d Adding "Beta" string into main window title 2017-05-10 17:55:21 +03:00
Gokhan Simsek 44e3e0f3d6 Updating version to 1.1.0 2017-05-10 17:54:30 +03:00
Gokhan Simsek 5ae9f76629 Removing the changes related to showing NumberDecimal type more readabl. Showing NumberDecimal values as it is without change, same as mongo shell shows on command line. 2017-05-10 17:37:05 +03:00
Gokhan Simsek a9ec2c1b6d Upgrading esprima.js version to 2.7.3 to support ECMAScript 2015 (Modernized JavaScript Implementation aka ES6) features 2017-05-10 17:20:52 +03:00
Gokhan Simsek 4ccbbced54 Fix for the problem where Users folder was not removing its "..." after double click operation fails. Reproducible with Atlas 3.4 free cluster. 2017-05-03 14:26:31 +03:00
Gokhan Simsek da62ca474b NumberDecimal: Remove trailing zeros (and '.' conditionally) only if there is '.' and no 'E' 2017-05-03 14:21:19 +03:00
Gökhan Simsek e02696d47d Update README.md 2017-04-29 17:45:36 +03:00
Gokhan Simsek 6dc29b910c Adding new icon for type NumberDecimal (Decimal128) 2017-04-28 20:25:45 +03:00
Gokhan Simsek 7e76d29ddf First changes to support new MongoDB 3.4 type NumberDecimal (Decimal128) 2017-04-28 20:25:45 +03:00
Gokhan Simsek 0bad62dfd4 ReplicaSets: Change to fix problem where refresh replica set folder does not refresh when server uses SSL 2017-04-28 20:25:45 +03:00
Gokhan Simsek 98807b0487 Changing Robomongo version to 2.0. Adding main window title automatically built by project major, minor versions. 2017-04-28 20:25:45 +03:00
Gokhan Simsek 78deee7ca2 mongodb_3.4: First changes for Linux to build with roboshell-3.4, connect to 3.4 databases EXcluding Mongo Atlas 3.4 with SSL. 2017-04-28 20:25:45 +03:00
Gokhan Simsek a5ccfebff5 mongodb_3.4: First changes for OSX to build with roboshell-3.4, connect to 3.4 databases including Mongo Atlas 3.4 with SSL. 2017-04-28 20:25:45 +03:00
Gokhan Simsek b39b945a6e mongodb_3.4: First changes which builds with roboshell-3.4 first commit and connects to 3.4 databases including Mongo Atlas 3.4 with SSL. 2017-04-28 20:25:45 +03:00
Gökhan Simsek 18951047eb Update CHANGELOG 2017-04-27 14:47:37 +03:00
Gokhan Simsek 1124ec22c6 Merge branch 'master' into Rebranding 2017-04-26 11:01:25 +03:00
Gokhan Simsek ab367fc890 Change to fix a merge error 2017-04-26 11:01:04 +03:00
Gokhan Simsek 22c632794f Merge branch 'master' of https://github.com/paralect/robomongo 2017-04-26 10:40:39 +03:00
Gökhan Simsek 0fefd6d443 Update README.md
For version 1.0
2017-04-21 17:15:29 +03:00
Gokhan Simsek 89f24ea07c Updating changelog for 1.0 release 2017-04-21 09:04:07 +03:00
Gokhan Simsek d2a11bc0f2 UpdatesBar: Making the height of bar %30 bigger for MAC 2017-04-20 15:08:21 +03:00
Gokhan Simsek 575455b10e Removing the changes done in the previous commit "e858c68: Setting unified light blue color for all links in the application" 2017-04-20 12:45:58 +03:00
Gokhan Simsek e858c68fa6 Setting unified light blue color for all links in the application 2017-04-20 10:55:49 +03:00
Gokhan Simsek 2df26740c6 WelcomeTab: Changing background color from grey to base (white) 2017-04-20 10:52:15 +03:00
Gokhan Simsek 39209ee2b8 WelcomeTab: Making left (What's New) section's header dynamically read from remote server. 2017-04-20 10:50:31 +03:00
Gokhan Simsek 3e9cd11aa3 WelcomeTab: Fix to solve low resolution image problem 2017-04-12 09:43:54 +03:00
Gokhan Simsek f91b2c4a2f UpdatesBar: Adding fix for the problem where some menu items were still shown when focus changes to welcome tab from other shell tabs. Updating softwareID to 8 to receive Robomongo related updates. 2017-04-11 16:02:18 +03:00
Gökhan Simsek a2b1a07a4f Update RuntimeDependencies.md
Adding more debugging commands and options for Linux
2017-04-05 11:25:50 +03:00
Gokhan Simsek 82b5f434f9 Adding fix to solve problem where program was failing to start due to relocation errors during runtime shared library search on Linux 2017-04-05 09:33:46 +03:00
Gokhan Simsek a55b7398da EulaDialog: Adding first launch size which is almost the half of primary screen width and height 2017-03-30 12:54:44 +03:00
Gokhan Simsek d9b37b2094 Rebranding from RoboM to Robomongo 2017-03-30 11:26:50 +03:00
Gokhan Simsek 230c5f37bc ConnectionBasicTab: Adding fix for the cosmetic issue when creating new replica set connection, plus and minus buttons alignment issue for MAC and Linux. 2017-03-29 16:08:18 +03:00
Gokhan Simsek 561bdbf2b4 Changing shortcut for "Open/Refresh Welcome Tab" to "CTRL+SHIFT+W". Disabling File, Open, Save, Save As menu items when there is only Welcome Tab. 2017-03-27 09:29:10 +03:00
Gokhan Simsek 0bafec7ce5 To fix the vendor string on Windows programs list 2017-03-27 09:23:28 +03:00
Gokhan Simsek 34dca72a09 Fix: #501: Display Dates in - Local Timezone shows wrong date 2017-03-27 09:22:36 +03:00
Gokhan Simsek 428b576acf Fix: #1309: Time zone shown as "000:00" when UTC +00:00 is used as local time zone 2017-03-23 14:26:06 +03:00
Gokhan Simsek f26a08d9bc Fix: #1159: Timestamp value is represented incorrectly 2017-03-23 14:17:39 +03:00
Gokhan Simsek 92ae9affd6 ReplicaSets: #1302: Some enhancements and more informational error messages for the issue where same set name is used with different members. 2017-03-22 12:06:30 +03:00
Gokhan Simsek d52cd2e0c0 ReplicaSets: Adding "Set Name" option into connection basic tab UI and "setNameUserEntered" parameter into config file. 2017-03-21 18:41:32 +03:00
Gokhan Simsek e11cbd1a26 ReplicaSets: Renaming config file parameter "setName" as "cachedSetName" 2017-03-21 14:53:00 +03:00
Gokhan Simsek 4e58a6a6b4 EulaDialog: Re-enabling first license page for windows, disabling second email form page for linux 2017-03-21 09:44:32 +03:00
Gokhan Simsek e01de676fa ReplicaSets: #1302 - To avoid the problem when same set name is used with different members, which is not supported configuration, Robomongo might connect to wrong set. 2017-03-20 09:35:25 +03:00
Gokhan Simsek 9e43802e2a WelcomeTab: Using http for file downloads on Linux due to crashes and unstable behaviors 2017-03-17 10:09:12 +03:00
Gokhan Simsek f02f4f6116 Re-enabling first start connections dialog which was disabled for development purposes 2017-03-16 19:03:39 +03:00
Gokhan Simsek 306689f30d EulaDialog: Removing email form page for Linux 2017-03-16 18:39:43 +03:00
Gökhan Simsek 43bf28968b Update BuildingRobomongo.md 2017-03-15 13:13:13 +03:00
Gökhan Simsek df6e9a57d8 Updating Centos build steps 2017-03-13 11:51:31 +03:00
Gokhan Simsek cbcafd28c9 Minor re-factoring 2017-03-10 14:57:55 +03:00
Gokhan Simsek 4f181ec460 UpdatesBar: Adding functionality to auto-adjust height for updates label to fix issues with set word wrap problems. EulaDialog: Adding one space before main body text. 2017-03-10 11:39:27 +03:00
Gokhan Simsek a72583df76 Code Review: All changes between 1.0.0 (this commit) and 1.0.0-RC1 (commit 496f5c2, 1 Feb 2017). No behavioral changes. 2017-03-09 18:27:45 +03:00
Gokhan Simsek 8f508e5e0f Removing connection setting's program-lifetime uniqueID solution which was replaced with persistent (config. file) UUID solution 2017-03-06 19:49:38 +03:00
Gokhan Simsek 536f75fdb4 WelcomeTab: Making 'all logs button' fully left aligned for MAC 2017-03-06 16:00:13 +03:00
Gokhan Simsek f37a070eda WelcomeTab: Showing blog section widgets after loading what's new section widgets. 2017-03-06 12:47:41 +03:00
Gokhan Simsek 51c1267bf4 WelcomeTab: Disabling Recent Connections feature on UI, settings file and code. 2017-03-04 16:48:28 +03:00
Gokhan Simsek 6a0b972aac WelcomeTab: Adding 'Connect' tool button plus the clear all action instead of clear all button 2017-03-04 15:05:07 +03:00
Gokhan Simsek 94168f02ca Rebranding: Renaming config folder to robom and config file to robom.json 2017-03-03 19:51:48 +03:00
Gokhan Simsek 88c8dfa26e WelcomeTab: Fixing major problem which was causing cache files not to be saved 2017-03-03 19:49:58 +03:00
Gokhan Simsek c8050f0edd Rebranding: Major renaming to RoboM and 3T Software Labs Ltd 2017-03-03 19:04:16 +03:00
Gokhan Simsek e3d90e63e8 CallHome: Adding "os" parameter to send operating system information 2017-03-03 15:19:14 +03:00
Gokhan Simsek ec20a3e4c9 EulaDialog: Adding code for posting email, name and last name. Removing two checkboxes. 2017-03-03 15:01:34 +03:00
Gokhan Simsek 83bac6b8aa EulaDialog: Not showing first page(license) which is already shown in installer and hiding some buttons on second page on Windows.
Updates Bar: Not showing the bar if the string sent from server is empty.
2017-03-01 15:59:35 +03:00
Gokhan Simsek 34025743a1 Some refactoring for 1.0.0 changes, no functional changes. 2017-03-01 11:26:37 +03:00
Gokhan Simsek ff02a303c7 SettingsManager: Change of config. file path due to re-branding to 3T. 2017-02-28 14:10:53 +03:00
Gokhan Simsek 4552576fa3 Minor change: Fixing MAC build error. Disabling debug code. 2017-02-28 11:33:25 +03:00
Gokhan Simsek cc2c834359 WelcomeTab: Adding dynamic resizing functionality for text, image and blogs sections which are shown 60, 50 and 28 percent of tab respectively. Resizing happens any time tab or main window size is changed by user. 2017-02-28 10:35:45 +03:00
Gokhan Simsek b746aeb729 WelcomeTab: Adding code to show main text and image 50-60 percent and blogs section 30 percent of whole tab width which is calculated and adjusted every time the tab is opened or refreshed. 2017-02-27 20:16:20 +03:00
Gokhan Simsek 686fc08cef Not showing main window updates bar if there is network error. Disabling welcome tab's right click menu. 2017-02-27 15:18:16 +03:00
Gokhan Simsek 9d74aae3f5 WelcomeTab: Polishing left layout when there is no image or/and text is available (no cache, no internet). Not showing "What's New" header when there is no image and no text. 2017-02-27 11:14:51 +03:00
Gokhan Simsek b3fd99eb1b WelcomeTab: Fixing cropped image and text layout problems. Refactoring picture download handler. 2017-02-25 15:43:07 +03:00
Gokhan Simsek bf111c97f1 AboutDialog: Fixing broken robomongo link 2017-02-25 15:40:13 +03:00
Gokhan Simsek ac8d4cf899 Disabling welcome tab's icon for MAC. Adding initial size for setup wizard. 2017-02-24 16:41:33 +03:00
Gokhan Simsek 04bd7fbffa WelcomeTab: Adding a better adjusted icon. 2017-02-24 12:18:48 +03:00
Gokhan Simsek 8167e8d944 Adding functionality import connections to version 1.0.0 2017-02-24 11:49:57 +03:00
Gokhan Simsek 6c3174599a WelcomeTab: Adding functionality when 'Open/Refresh Welcome Tab' menu item is clicked, show/focus and reload welcome tab if tab is not closed; if tab is closed, insert it as first tab. 2017-02-24 11:28:23 +03:00
Gokhan Simsek 76aca637e8 Adding config file directory automatically created with PROJECT_VERSION.
WelcomeTab: Adding load/save to cache for RSS feed XML.
2017-02-24 09:05:39 +03:00
Gokhan Simsek 832d843ea1 WelcomeTab: To achieve much faster loading, adding cache mechanism for what's new section's main picture and text 2017-02-23 11:50:06 +03:00
Gokhan Simsek 9aa702efcd WelcomeTab: Adding underline on mouse hover functionality for blog links 2017-02-22 12:20:04 +03:00
Gokhan Simsek cde6d9eaae Doing unzipping/reading file content in-memory instead of extracting/reading from file. Fixing build error related to qzipreader.h for MAC/Linux. 2017-02-22 10:41:01 +03:00
Gokhan Simsek 91db033e3a WelcomeTab: Adding menu action 'Window > Open Welcome Tab' to be able to re-open/refresh welcome tab when closed. 2017-02-21 16:51:51 +03:00
Gokhan Simsek 7d6c0af7e7 WelcomeTab: Adding functionality to be able to download/load tab's main text, picture and blogs info rss from network. Changing maximum shown blog count to 10. 2017-02-21 16:29:23 +03:00
Gokhan Simsek d0c2345044 CallHome: Adding functionality to unzip 3T zip files (more specifically *.dat files) 2017-02-21 15:27:33 +03:00
Gokhan Simsek 51c4b93bc7 Adding one space at the beginning of updates bar's text. Making updates bar non-movable. Minor white space change in about dialog text. 2017-02-20 12:44:15 +03:00
Gokhan Simsek 242acbcd9d CallHome: Adding "checkForUpdates" flag into config file. Adding related "Check For Udates" menu action into main window "Options" menu. Not checking updates if the related flag is false. 2017-02-19 01:53:36 +03:00
Gokhan Simsek 3079801e0f CallHome: Adding code for first update check (30secs after program start) and hourly periodic update checks. 2017-02-19 01:24:11 +03:00
Gokhan Simsek fdc02400b9 CallHome: Adding updates bar into main window 2017-02-19 00:52:38 +03:00
Gokhan Simsek 499b0da006 CallHome: Adding functionality to find & save AnonymousID from the settings files inside .3T folder 2017-02-18 19:01:18 +03:00
Gokhan Simsek a7caf02ec6 Adding Qt XML module into the project 2017-02-18 18:57:03 +03:00
Gokhan Simsek 70b819700d CallHome: Renaming uuid to anonymousID in config file 2017-02-18 14:24:56 +03:00
Gokhan Simsek b1aca90888 SetupWizard: Adding acceptedEulaVersions array of strings into the config file. and the related functionality. 2017-02-17 18:34:08 +03:00
Gokhan Simsek 73ccc5d3ad SetupWizard: Converting eula dialog into a two page-setup wizard. Minor changes on about dialog. 2017-02-17 10:56:40 +03:00
Gokhan Simsek 47d3fd7db9 AboutDialog: Adding GNU license agreement tab. Updating names according to rebranding. 2017-02-15 17:33:30 +03:00
Gokhan Simsek 56d2d7cb12 Rebranding: Changing executable name to "studio-3t-robo" for Windows and Linux. Updating bin/run for Linux. 2017-02-15 11:55:22 +03:00
Gokhan Simsek ac3c078141 Rebranding: Name changes for MAC build effecting run, install and packing. 2017-02-15 09:54:09 +03:00
Gokhan Simsek 0110a0df8d Rebranding: Renaming from "Studio 3T Robo" and "3T Software Labs" in UI and cmake files. 2017-02-14 16:56:40 +03:00
Gokhan Simsek c1d6b51075 WelcomeTab: Minor change to fix a build error for MAC/Linux. 2017-02-14 14:02:58 +03:00
Gokhan Simsek bc6c6a36da WelcomeTab: Adding left and right vertical layouts. Moving blog posts section to the right side of the page. 2017-02-14 10:45:04 +03:00
Gokhan Simsek 806d76d9a2 WelcomeTab: For much faster image loading, adding capability to save/use cached image files instead of downloading from internet. 2017-02-13 20:16:55 +03:00
Gokhan Simsek a0a476b57d Minor change to fix MAC/Linux build errors. 2017-02-13 19:00:22 +03:00
Gokhan Simsek d5dd24fa51 WelcomeTab: Adding functionality to be able to delete recent connections one by one. 2017-02-12 19:41:08 +03:00
Gokhan Simsek 42561be37e WelcomeTab: Adding underline on mouse hover feature for recent connection items only. 2017-02-09 20:09:55 +03:00
Gokhan Simsek c2fdee9cf8 WelcomeTab: Adding functionality where removing a connection from connections list dialog will remove related recent connection label and related entry from config. file. 2017-02-09 14:02:06 +03:00
Gokhan Simsek 9972ee4113 Improving connection setting's program-lifetime uniqueID by replacing with persistent (config. file) UUID solution used in WelcomeTab and replica set cached set name feature. 2017-02-09 12:45:30 +03:00
Gokhan Simsek 846b0ce9fd WelcomeTab: Adding functionality to load/save recent connections from/into config. file. 2017-02-08 19:57:43 +03:00
Gokhan Simsek fe78fe4416 WelcomeTab: Adding first working version of Recent Connections feature without saving into config. file. 2017-02-08 12:33:54 +03:00
Gokhan Simsek 54d03ae788 WelcomeTab: Adding and showing an image downloaded from an internet URL. 2017-02-06 20:59:55 +03:00
Gokhan Simsek 55f895a7f5 Adding Qt Network module into cmake project to use in Welcome Tab. 2017-02-06 20:55:32 +03:00
Gokhan Simsek 22b557605b WelcomeTab: Adding first basic working version with static data and with 'What's New' and 'Blog Posts' sections 2017-02-06 12:25:45 +03:00
Gokhan Simsek 16ed6e844a EulaDialog: Adding UUID generation, eulaAccepted flag & UUID string into config file and related functionality. 2017-02-04 14:29:05 +03:00
Gokhan Simsek d96b3de97a Updating version to 1.0.0 and main window title to 1.0 2017-02-04 10:30:20 +03:00
Gokhan Simsek bd0436ffa0 EulaDialog: Adding first basic working version 2017-02-04 10:21:16 +03:00
Gokhan Simsek 496f5c256f Minor update for change log. 2017-02-01 16:43:51 +03:00
Gökhan Simsek 6617d07e1e Update README.md 2017-02-01 16:42:20 +03:00
Gökhan Simsek 99837f0b8f Update README.md 2017-02-01 16:39:53 +03:00
Gokhan Simsek 6ed27b7b83 Updating change log for 1.0-RC1 2017-02-01 15:24:05 +03:00
Gokhan Simsek 3247fd77d6 Replica Set: To fix the problem where shell tab does not update primary address when checked after 10 minutes primary changed. 2017-02-01 13:21:29 +03:00
Gokhan Simsek f9b9679b5e ReplicaSet: Minor text adjustment for test connection (diagnostics) dialog 2017-01-30 11:56:32 +03:00
Gokhan Simsek 685d264ab7 Updating icon for 'Open Shell' menu item for MAC due to alignment problems. 2017-01-26 18:03:18 +03:00
Gokhan Simsek 2355f0cb54 Updating main window title into short version "Robomongo 1.0-RC1" 2017-01-26 11:28:29 +03:00
Gokhan Simsek 68674fb1c2 ReplicaSet: Updating member add/remove buttons to support MAC style, making them absolute right aligned, decreasing vertical spacing between columns for better look. 2017-01-25 13:25:25 +03:00
Gokhan Simsek 0e1a942ecd Removing one improvement because it breaks 'show log' functionality. 2017-01-24 11:28:34 +03:00
Gokhan Simsek d01ce11e47 ReplicaSet: Clearing cached set name when a connections settings is changed & saved. Adding set's first member's hostname & port info into 'test' connection dialog. 2017-01-24 09:13:25 +03:00
Gokhan Simsek eee9e1cbd4 ReplicaSet: Always expand replica set folder, if an operation failed due unreachable primary. 2017-01-22 18:43:53 +03:00
Gokhan Simsek 54e2da3dc4 ReplicaSet: Adding additional check to detect & give error if any of the replica set member items does not contain ":" character between hostname and port after user clicks save on Connection Settings dialog. 2017-01-20 19:06:10 +03:00
Gokhan Simsek 6887850eae ReplicaSet: For cloned connections from connections dialog, cached set name should be set to empty string. 2017-01-20 18:50:35 +03:00
Gokhan Simsek ab16885112 ReplicaSet: Set replica set folder not-expanded after first connection, not-expanded after connection refresh, expanded after replica set folder user-manual-extending and after replica set folder context menu 'refresh' action. 2017-01-20 18:33:48 +03:00
Gokhan Simsek 5f3ff06403 Code Review: All changes between 1.0.0-RC1 (this commit) and 0.9.0 Final (commit 0786489, 15 october). No behavioral changes. 2017-01-20 16:35:06 +03:00
Gokhan Simsek 81f872fdaf Disabling unfinished export URI connection string feature 2017-01-17 18:38:55 +03:00
Gokhan Simsek 0ec739a2b7 Fix for the problem where all delete/remove document related operations were causing all related/unrelated tabs to re-run. 2017-01-17 18:09:11 +03:00
Gokhan Simsek 752bc51452 Implementing more maintainable solution to handle import using const static list of config file & import function pairs. 2017-01-17 17:37:29 +03:00
Gokhan Simsek 3a23c62070 Changing import behavior to find & import only from the latest version instead of importing from all old versions one by one. 2017-01-17 17:30:50 +03:00
Gokhan Simsek 4512b4c998 ReplicaSet: Adding more handlers for replica set item edit. Auto-remove white space; auto-delete item from widget if item text is empty; auto-remove non-numeric characters from port sub string; if there is no numeric character in port string, auto-add 27017 as default port number. 2017-01-17 10:39:26 +03:00
Gokhan Simsek 684d2abcdc ReplicaSet: Adding duplicate member checker & error message and adding plus and minus icons for replica set member add/remove. Adding 'Attributes' header into connections list dialog. Removing find set button and read preference from connection basic tab. 2017-01-16 16:16:39 +03:00
Gokhan Simsek db3eb8872c Updating Robomongo version to 1.0.0-RC1. Adding plus and minus sign icons for replica set member add/remove. 2017-01-16 15:29:29 +03:00
Gokhan Simsek 885f388201 Minor changes to clear MAC build warnings. 2017-01-12 11:17:53 +03:00
Gokhan Simsek 9431f7f2a8 ReplicaSet: Minor changes to fix some build errors for Linux. 2017-01-11 10:52:37 +03:00
Gokhan Simsek f7752fd2b7 ReplicaSet: Handle long lasting (e.g. overnight) connections which causes replica set monitor to be null. 2017-01-10 11:53:49 +03:00
Gokhan Simsek e4b2c2262e ReplicaSet: Minor change to fix a build error on MAC and Linux. 2017-01-06 23:16:51 +03:00
Gokhan Simsek 9a31b6259d Improving 'remove document' related operations triggered both from explorer and from result widget: Implementing ONE, MULTI and ALL logic, single error window and better logging. Improving Insert Document operation. 2017-01-05 16:38:08 +03:00
Gokhan Simsek 995abe9401 ReplicaSet: Improving re-run of an existing tab for set primary changes. In some cases, need to find the error manually and return error. 2017-01-05 10:10:49 +03:00
Gokhan Simsek a13b39907b ReplicaSet: Improving handler for 'Remove All Documents' and 'Remove Document' for single server and replica sets. Improved logging for fail and success cases. 2017-01-05 10:08:06 +03:00
Gökhan Simsek c64fec22ee Update BuildingRobomongo.md 2017-01-04 10:40:59 +03:00
Gokhan Simsek dd1d835dfe ReplicaSet refactoring on various modules. No behavioral changes. 2017-01-03 12:25:25 +03:00
Gokhan Simsek 5a78becc6f ReplicaSet refactoring: Restructuring mainly MongoWorker and some other modules. No behavioral changes. 2017-01-02 21:33:46 +03:00
Gokhan Simsek f598e62d1c ReplicaSet refactoring: Restructuring MongoServer for better readability. Adding new modules 'string_operations' and 'common' as utility libraries. 2017-01-02 13:16:06 +03:00
Gokhan Simsek b8ae4d0fc5 ReplicaSet: Implementing cached set name feature for 2 times faster first connections. 2017-01-02 10:35:10 +03:00
Gokhan Simsek 5403c16f48 ReplicaSet: Fix for an issue related to saving empty replica set member list. Fix for the issue where connections list was still showing 'Replica Set' after changing connection type from replica set to single server. 2016-12-30 11:13:13 +03:00
Gokhan Simsek 3d162032f4 ReplicaSet: Make replica set member addition smarter than expected by auto incrementing the port and using the last entered hostname by user. 2016-12-30 10:47:09 +03:00
Gokhan Simsek c591a7a91e ReplicaSet: Adding 'keep alive' functionality for replica set connections. 2016-12-29 11:44:34 +03:00
Gokhan Simsek fd2c476ae5 Disabling new create connection dialog, reverting back to original. 2016-12-28 11:48:43 +03:00
Gokhan Simsek 42bf58a0b5 ReplicaSet: Improvement for faster connection refresh by disabling unnecessary replica set refresh. Disabling settings save in MongoServer. Decreasing replica set refresh time to 2 seconds. 2016-12-23 11:19:00 +03:00
Gokhan Simsek 4d09e1b5a5 Fix for the problem where connections list comes empty if config file or it's directory do not exist (connections were imported only after second program opening) 2016-12-21 15:09:16 +03:00
Gokhan Simsek d825b065f2 ReplicaSet: Fix for the problem where primary unreachable case for one replica set connection was causing other unrelated replica set connections to go offline. 2016-12-21 14:25:51 +03:00
Gokhan Simsek 13428b5ed6 ReplicaSet: Removing unused context menu item "Refresh" for replica set member items on explorer widget. 2016-12-21 14:23:59 +03:00
Gokhan Simsek 521d1789bc Improved logging for connection establish & refresh server fail and success cases. 2016-12-21 10:20:46 +03:00
Gokhan Simsek f64257ae86 Improving handler for 'Create Database' for single server and replica sets.
Moving 'refresh databases' from event request to event response.
Improved logging for fail and success cases.
2016-12-19 20:53:38 +03:00
Gokhan Simsek d228ca1c4b Minor refactoring due to failing MAC build. 2016-12-19 19:33:05 +03:00
Gokhan Simsek 690f21e9ae Improving handler for 'Drop Database' for single server and replica sets. For replica set connections, it triggers replica set refresh on failure.
Moving 'refresh databases' from event request to event response. Improved logging for fail and success cases.
2016-12-19 18:23:14 +03:00
Gokhan Simsek 743710a9f0 Improving handler for 'Refresh Users' for single server and replica sets. For replica set connections, it triggers replica set refresh on failure.
Improved logging for fail and success cases.
2016-12-19 11:46:09 +03:00
Gokhan Simsek ba29971e20 Improving handler for 'Refresh Functions' for single server and replica sets. For replica set connections, it triggers replica set refresh on failure.
Improved logging for fail and success cases.
2016-12-19 11:37:17 +03:00
Gokhan Simsek f49e492a92 Improving handler for 'Refresh Collections' for single server and replica sets. For replica set connections, it triggers replica set refresh on failure.
Improved logging for fail and success cases.
2016-12-19 11:27:05 +03:00
Gokhan Simsek 1c62abaec0 Adding response handler for 'Drop User' for single server and replica sets. For replica set connections, it triggers replica set refresh on failure.
Moving 'refresh users' from event request to event response. Improved logging for fail and success cases.
2016-12-19 11:01:32 +03:00
Gokhan Simsek 1940a03a61 Improving handler for 'Create User' and 'Edit User' operations for single server and replica sets. For replica set connections, it triggers replica set refresh on failure.
Moving 'refresh users' from event request to event response. Improved logging for fail and success cases.
2016-12-19 09:59:18 +03:00
Gokhan Simsek 9bee2f443f C++11 transition, automatic clean up for possible memory leak. 2016-12-16 10:10:24 +03:00
Gokhan Simsek 1cf331f83c Fix for SSH connection issue. 2016-12-16 09:59:27 +03:00
Gokhan Simsek 685b835886 Adding response handler for 'Drop Function' for single server and replica sets. For replica set connections, it triggers replica set refresh on failure.
Moving 'refresh functions' from event request to event response. Improved logging for fail and success cases.
2016-12-15 17:48:32 +03:00
Gokhan Simsek ab2494a6ba Adding response handler for 'Create Function' and 'Update Function' operations for single server and replica sets. For replica set connections, it triggers replica set refresh on failure.
Moving 'refresh functions' from event request to event response. Improved logging for fail and success cases.
2016-12-15 17:21:11 +03:00
Gokhan Simsek 3ae0d61bd5 Improving 'Create Collection' for single server and replica sets. For replica set connections, it triggers replica set refresh on failure.
Handling create attempt of already-existing collection names.
Moving 'refresh collections' from event request to event response.
Improved logging for fail and success cases.
2016-12-14 11:53:53 +03:00
Gokhan Simsek f4e11b623f Improving response handler for 'DropCollection' which for replica set connections triggers replica set refresh on failure. Adding code to handle drop attempt of non-existing collections.
Moving 'refresh collections' from event request to event response.
Improved logging for fail and success cases.
2016-12-11 19:54:40 +03:00
Gokhan Simsek 938479e43f DuplicateCollection: Adding code to handle and show error for the case where duplicating a collection with a collection name which already exists finishes silently. 2016-12-11 18:16:26 +03:00
Gokhan Simsek 31ec650659 Implementing response handler for 'Duplicate Collection' which works for single server connections expectedly and for replica set connections triggers replica set refresh on failure.
Moving 'refresh collections' from event request to event response.
Improved logging for fail and success cases.
2016-12-11 18:09:15 +03:00
Gokhan Simsek 87c13ff74a Implementing global response handler for 'Rename Collection' which works for single server connections expectedly and for replica set connections triggers replica set refresh on failure.
Moving 'refresh collections' from event request to event response.
Improved logging for fail and success cases.
2016-12-11 15:50:48 +03:00
Gokhan Simsek 2c820daae4 #1256: Fix for in-progress widget not centered for "Update Documents/Remove Documents" context menu actions 2016-12-09 12:39:25 +03:00
Gokhan Simsek 3b0cdc0caa #1236: Fix for the two global problems where insert or update documents in one tab was causing auto reloading of other tabs and also multiple error windows to popup for each tab opened from same root connection.
ReplicaSets: Adding better handling for insert document failures for both originated from explorer collection context menu and from output document results context menu.
2016-12-08 20:15:23 +03:00
Gokhan Simsek 85570dd61d Adding adjusted log level prefix strings into logger. 2016-12-06 14:59:27 +03:00
Gokhan Simsek 400d3670be ReplicaSets: Adding refresh replica set on error feature for insert document operation. 2016-12-06 14:55:52 +03:00
Gokhan Simsek 45c93a7f3e ReplicaSets: Fixing an error and improving connection between tabs and explorerServerItem's mongo server in order to receive ReplicaSetRefreshed events correctly. 2016-12-06 10:26:20 +03:00
Gokhan Simsek 6ca3f492fe Adding code to handle global problem where re-run of existing shell tab with reachable server fails due to null mongo scope which is result when new shell opened before when server is unreachable. 2016-12-04 21:43:46 +03:00
Gokhan Simsek dee3768d34 ReplicaSets: Adding automatic replica set refresh for failed script queries when set's primary unreachable cases. 2016-12-04 16:57:33 +03:00
Gökhan Simsek d2570f9c44 Update README.md 2016-12-03 12:49:57 +03:00
Gokhan Simsek a630fa9f98 ReplicaSets: Reverting ExplorerServerTreeItem expand() for single server back to its original version. Fixing small error related to [SSL] [SSH] texts. 2016-11-30 00:20:41 +03:00
Gokhan Simsek 875d4248f5 ReplicaSets: Better error messages for failed connections and failed refresh events for SSL & replica sets and single server cases. Fixing a problem related to replica set refresh folder event. 2016-11-29 21:34:49 +03:00
Gokhan Simsek 9523ff2472 ReplicaSets: Adding refresh status of set on expand feature for explorer feature replica set folder 2016-11-28 09:39:35 +03:00
Gokhan Simsek cf92bda8db ReplicaSets: Fixing a potential problem by setting cached set name to empty when connection failed to all nodes. 2016-11-27 01:55:55 +03:00
Gokhan Simsek c73b5ed7dc ReplicaSets: Changes to achieve 3 times faster first connection to replica set. 2016-11-27 01:24:12 +03:00
Gokhan Simsek ceb32f63ad ReplicaSets: Adding new feature to be able to check replica set status even when primary is unreachable and there is at least one reachable secondary. Disabling some context menu items for ServerTreeItem and ReplicaSetFolderItem for the no primary case and all nodes unreachable case. 2016-11-25 15:07:15 +03:00
Gokhan Simsek 4065193dd8 ReplicaSets: Implementing slightly different design for "create collection" for replica set connections. Adding an using new event ReplicaSetFolderLoading. 2016-11-23 13:53:37 +03:00
Gokhan Simsek b4d7ae2d3e Renaming MongoServer::_client to _worker. 2016-11-21 20:30:13 +03:00
Gokhan Simsek 140dce8dd2 ReplicaSets: Fixing issue related to create database and drop database actions. 2016-11-21 16:34:26 +03:00
Gokhan Simsek e80fd77299 ReplicaSets: Major changes, re-implementing connection to replica set, refresh server for replica set and refresh for replica set folder. 2016-11-21 15:56:29 +03:00
Gokhan Simsek 7e552a4db0 ReplicaSets: Updating replica set member icons with transparent background. 2016-11-18 23:14:24 +03:00
Gokhan Simsek 7d28eec8d0 ReplicaSets: Updating replica set icon with transparent background. Adding replica set offline icon. 2016-11-18 23:09:10 +03:00
Gokhan Simsek c29f8bf2f4 Adding save/restore window size feature for Edit, View and Insert Document dialogs 2016-11-17 19:27:56 +03:00
Gokhan Simsek f76433729c Correcting typo for namespace HighDpiConstants 2016-11-16 23:55:15 +03:00
Gokhan Simsek db630fc549 Updating Robomongo version to 1.0.0 2016-11-15 22:14:52 +03:00
Gokhan Simsek 4eb13e84cc Adding first working import connections from 0.9 to 1.0 and from 0.8.5 to 1.0. Updating default config path to /.config/robomongo/1.0/ 2016-11-14 22:16:23 +03:00
Gokhan Simsek 16b8c8efea ConnectionString: Adding generate button, include passwords check box and related functionalities. Adding tooltip popup for copy to clipboard button. 2016-11-13 02:30:51 +03:00
Gokhan Simsek 9b2c72e4a2 ReplicaSets: Adding first working version of export URI connection string feature into ConnectionSettings advanced tab. Refactoring ConnectionSettings info() to hostAndPort(). 2016-11-11 21:53:31 +03:00
Gokhan Simsek b3b9c52144 Temporarily disabling export/import feature 2016-11-10 13:05:01 +03:00
Gokhan Simsek 4bc319e0bb Minor refactorings 2016-11-10 12:45:06 +03:00
Gökhan Simsek 50071a2980 Moving gitter badge next to "About Robomongo" text 2016-11-10 11:15:48 +03:00
Gökhan Simsek 2036ce4ba1 Merge pull request #1207 from revolter/patch-1
Move Gitter badge to the top
2016-11-10 10:14:28 +02:00
Gokhan Simsek f2624fea03 ReplicaSets: Better handling of server item's refresh and replica set folder item's refresh for set's unreachable cases. Adding code to show more correct error string for replica set connections. Updating script engine's dbname dynamically. 2016-11-09 14:56:45 +03:00
Gokhan Simsek 950bc3daaa ReplicaSets: Handling of cases where there is no reachable primary with reachable secondaries or no reachable nodes at all. 2016-11-07 02:18:13 +03:00
Gokhan Simsek 39b6779a8c ReplicaSets: Better and faster handling of set status change for "Replica Set" folder item. Adding new RefreshReplicaSet* event group. Adding new function MongoSever::tryRefreshReplicaSet(). 2016-11-06 14:51:30 +03:00
Gokhan Simsek 743486d88b ReplicaSets: Adding functionality to dynamically update script engine with correct primary node to be able to re-run an existing open tab even when primary changed. Adding ReplicaSet struct as an info class. 2016-11-04 19:21:19 +03:00
Gokhan Simsek 50b0e90495 ReplicaSets: Moving replica set primary update for script engine inside replica set if condition. 2016-11-02 18:38:31 +03:00
Gokhan Simsek a8b049686a Using ConnectionSettings pointer itself instead of deep copy in ConnectionsDialog and some const refactoring. 2016-11-02 18:36:57 +03:00
Gokhan Simsek 23f133dbbe ReplicaSets: Adding functionality to auto-find and auto-configure replica set (and settings) for the case at least one reachable set member is entered by user. 2016-10-31 13:24:02 +03:00
Gokhan Simsek b033375491 ReplicaSets: In order to be able to save some settings changes (i,e, replica set name) after an established connection, passing the original connection settings object to MongoServer instead of the clone. 2016-10-30 23:38:41 +02:00
Gokhan Simsek ca4060473d ReplicaSets: Updating script engine to work with replica sets. Adding remove set item button functionality. 2016-10-30 23:26:44 +02:00
Gokhan Simsek 472b6a8c46 ReplicaSets: Adding replica set info into ConnectionDiagnosticDialog and main window log widget. 2016-10-29 18:17:17 +03:00
Gokhan Simsek 0947bac63c ReplicaSets: Adding setName into ReplicaSetSettings. If set name comes from settings (URI), using it instead of trying to get set name with connecting to nodes. Adding "Topology" column into ConnectionsDialog. 2016-10-29 01:47:03 +03:00
Gokhan Simsek 1a414a2723 ReplicaSets: Adding server icons to represent primary & secondary replica nodes (draft versions) 2016-10-28 18:35:12 +03:00
Gokhan Simsek d7bbf37cbb ReplicaSets: Adding code to extract SSL and credentials information from mongo URI. 2016-10-28 18:21:28 +03:00
Gokhan Simsek 6063ff90eb ReplicaSets: Adding code to obtain replica set name needed by constructor of mongo::DBClientReplicaSet 2016-10-28 16:33:01 +03:00
Gokhan Simsek 20dd2eb564 ReplicaSets: Change to fix build error on MAC 2016-10-27 12:29:59 +03:00
Gokhan Simsek 4a80853be6 ReplicaSets: Adding link from CreateConnectionDialog "Create connection manually" label to ConnectionsDialog addManually() function 2016-10-24 01:28:39 +03:00
Gokhan Simsek b6cd30e22d Adding "Security" header column into ConnectionsDialog 2016-10-24 00:15:12 +03:00
Gokhan Simsek ea59ca59d3 ReplicaSets: Adding new dialog "create connection"; Adding parsing ability from MongoURI to ConnectionSettings; Adding ability to create new connection from mongo connection string URI. 2016-10-23 14:42:24 +03:00
Gokhan Simsek c67d8a942b ReplicaSets: If replica set item widget is down, disabling iteim, it's context menu and double click event; Adding replica set name into replicaSetFolderItem. 2016-10-20 10:33:29 +03:00
Gokhan Simsek 244d94b17d Export_Import_Temp: Removing merge conflicts 2016-10-14 01:02:13 +03:00
Gokhan Simsek b05b348198 Merge branch 'master' into Export_Import_Temp 2016-10-14 00:50:43 +03:00
Gokhan Simsek 38a8595d15 ReplicaSets: Showing grey server icon when a replica member is offline 2016-10-14 00:47:24 +03:00
Gokhan Simsek f2226c92b3 Export_Import: Cancelling some customizations done for the design attempt of export dialog with custom explorer tree items 2016-10-13 22:58:25 +03:00
Gokhan Simsek 466709df23 Export_Import: Cancelling tree widget structure due to unnecessary complexity created; Enabling export button only a collection is selected; Adding "show details" button and feature. 2016-10-13 12:01:17 +03:00
Gokhan Simsek 702459918b ReplicaSet: Adding functionality refresh replica set view via "Refresh" context menu items both on Server and Replica Set Folder explorer tree items. Adding ExplorerReplicaSetFolderItem as a new specialized class. Adding new connection type "ConnectionRefresh" and function MongoServer::tryRefresh function to use updating whole connection view. 2016-10-12 15:50:58 +03:00
Gokhan Simsek 4efbd8b90a Export_Import: Adding support for multiple simultaneous exports in auto mode as well; adding enableDisableWidgets function to disable some widgets during export operation 2016-10-10 02:22:52 +03:00
Gokhan Simsek 655bfcba0a Export_Import: Adding support for multiple simultaneous exports in manual mode; Making export dialog mode-less 2016-10-09 18:27:54 +03:00
Gokhan Simsek 041356ebac Export_Import: Adding progress dialog for long lasting exports for auto mode 2016-10-09 13:52:35 +03:00
Gokhan Simsek 32e9ceb741 Export_Import: Appending mongo export output into auto mode result dialog 2016-10-09 01:00:29 +03:00
Gokhan Simsek 1aeb0e42dc Export_Import: Adding manual export mode 2016-10-08 23:30:33 +03:00
Gokhan Simsek 9c419b1f2e ReplicaSet: Enabling this feature which was disabled code due to release 0.9.0 Final 2016-10-07 19:15:14 +03:00
Gökhan Simsek 0786489924 Update CHANGELOG 2016-10-05 17:28:02 +03:00
Iulian Onofrei 2835aa1685 Move Gitter badge to the top
This is quite a preferred position for most projects and it helps to be this visible. I personally thought Robomongo is not using Gitter at first.
2016-10-05 11:33:19 +03:00
Gokhan Simsek 9cc34df185 Fixing the problem where create collection dialog was too large after switching into non-advanced mode from non-option tabs in advanced mode 2016-10-04 22:19:15 +03:00
Gokhan Simsek d5adcdf988 Fixing not working paralect link in about menu; Hiding validate json button when create collection dialog is in basic mode. 2016-10-04 21:41:08 +03:00
Gokhan Simsek 837c0e1a17 MinimizeToTray: Fixing the problem where incorrect context menu was shown when user minimize and right-click on tray icon. 2016-10-04 21:16:46 +03:00
Gökhan Simsek d458f43b63 Update README.md 2016-10-04 20:58:16 +03:00
Gokhan Simsek 1cfb1b6287 Export_Import: Adding code to support query argument; Moving all changes to _mongoExportArgs into one location inside accept() function. 2016-10-02 22:23:49 +03:00
Gokhan Simsek 6f5124616a Export_Import: Adding support to export in CSV format 2016-10-02 21:40:21 +03:00
Gokhan Simsek 3ba2f8ae93 Export_Import: Working export getting arguments from UI; adding smart filename and path creation when collection selected; adding browse directory functionality. 2016-10-01 18:17:44 +03:00
Gokhan Simsek b6d87141f2 Export_Import: First working mongo export with local executable directory and static arguments 2016-09-30 22:56:31 +03:00
Gokhan Simsek 993e9355bb Export_Import: Not creating "Functions", "User" and "Indexes" folders if items are created inside exp/imp dialog 2016-09-30 22:01:52 +03:00
Gokhan Simsek be655902b4 Updating CHANGELOG for 0.9.0 Final 2016-09-30 19:37:26 +03:00
Gökhan Simsek f9332befb3 Update README.md for 0.9.0 Final. 2016-09-30 19:19:49 +03:00
Gökhan Simsek 66728df978 Update README.md 2016-09-30 18:32:26 +03:00
Gokhan Simsek 60dc85c2fc To fix the problem where "View Documents" window cannot be brought into front from the behind of floating output window 2016-09-29 12:38:36 +03:00
Gökhan Simsek 4b4eb623b9 Update README.md 2016-09-28 19:21:20 +03:00
Gokhan Simsek d2c98bf559 DockableOutputWindow: Adding code to support this feature after toggle orientation; updating tool tip for maximize output result button 2016-09-27 12:57:09 +03:00
Gokhan Simsek 9a31503996 DockableOutputWindow: Fixing problem where dock/undock icon wasn't updated after re-running existing query tab with undocked output window 2016-09-23 13:09:15 +03:00
Gokhan Simsek cb4622f61f Adding protection for all tray icon code which is Windows only 2016-09-22 14:55:21 +03:00
Gokhan Simsek 1ce1091eca Minor change due to MAC build error 2016-09-22 14:23:23 +03:00
Gokhan Simsek 4546eef1e3 Refactoring some functions to avoid access to private members for better encapsulation 2016-09-22 14:05:53 +03:00
Gokhan Simsek 1d8f24ced2 Code Review: Refactoring and non-major changes for commits from RC10 release (33c89ea) to this commit. 2016-09-22 13:32:40 +03:00
Gokhan Simsek 19a61ba517 Code Review: For pull request #1163(minimize to tray) - More minor refactoring and style changes. 2016-09-21 11:56:28 +03:00
Gokhan Simsek 2b377e35f1 Code Review: For pull request #1163(minimize to tray) - Adding fix for the problem when tray icon double clicked event was not caught and so context menu was showing wrong text. 2016-09-20 21:38:06 +03:00
Gokhan Simsek f5011630a3 Code review: For pull request #1127 (copy path & copy name), constness and access level edits, applying Robomongo Coding Style. 2016-09-20 20:26:54 +03:00
Gokhan Simsek 8967a84f12 DockableOutputWindow: Fix for possible Qt bug (MAC only) where dock window is not brought to front when connected tab is selected 2016-09-20 17:08:23 +03:00
Gokhan Simsek 38bed5e4eb Code review : MinimizeToTray pull request minor changes 2016-09-19 01:32:10 +03:00
Gokhan Simsek 5370ecedd8 ReplicaSet: Temporarily disable Replica Set feature - still under development 2016-09-15 13:18:53 +03:00
Gökhan Simsek 0e8cd5cefc Merge pull request #1163 from JoshJ1091/master
Add system tray icon and implement ability to close to system tray (Windows)
2016-09-14 13:37:10 +02:00
Gokhan Simsek e3c3649b0f Robomongo 0.9.0 2016-09-14 13:06:50 +03:00
Gokhan Simsek 19f953fa54 RepSet: Removing QShortCut due to failed build on Ubuntu 2016-09-14 12:10:28 +03:00
Gokhan Simsek ad1b5e35c7 Merge branch 'DockableOutputWindow' 2016-09-13 19:26:43 +03:00
Gokhan Simsek ff2eb0fef6 DockableOutputWindow: Updating clean versions of maximize and minimize icons; Minor change on ReplicaSetSettings due to failed build on MAC 2016-09-13 19:10:21 +03:00
Gokhan Simsek d356c14f87 DockableOutputWindow: Increasing size of dock/undock button icons 2016-09-12 00:57:14 +03:00
Gokhan Simsek 829cbf890b DockableOutputWindow: Adding new icons for maximize/minimize button 2016-09-11 23:40:12 +03:00
Gokhan Simsek 5ae52d4b4f DockableOutputWindow: Fix to solve crash when floating dock window hovered over bottom part of the maximized query widget 2016-09-11 18:50:18 +03:00
Gokhan Simsek 4608c6b7ee DockableOutputWindow: No maximize (via double click or any other source) if there is only one query result 2016-09-11 16:44:00 +03:00
Gokhan Simsek 7c7a818ca0 Merge branch 'DockableOutputWindow' 2016-09-11 15:59:32 +03:00
Gokhan Simsek 08c6d44185 DockableOutputWindow: Removing the additional horizontal line on bottom of tab title that is seen after undock 2016-09-11 15:56:50 +03:00
Gokhan Simsek dc8495b147 DockableOutputWindow: Adding code for frameless query results dock window; adding functionality to dock/undock from OutputItemHeaderWidget; adding dock/undock buttons and icons into OutputItemHeaderWidget; not showing OutputItemHeaderWidget maximize button if there is one query result; showing only one undock button if there are more than one query results. 2016-09-11 15:16:44 +03:00
Gokhan Simsek e2f5765a87 DockableOutputWindow: Adding code to show OutputWidget maximize button only if there are multiple query results 2016-09-10 16:24:46 +03:00
Gokhan Simsek 7ebc059430 Export_Import: Adding function to be able to customize ExplorerDatabaseTreeItem in order to use it inside Export Dialog 2016-09-09 19:52:46 +03:00
Gokhan Simsek 0d3fda185f Export_Import: Adding new dialog/class ExportDialog and it's first visual template; adding import action into main window 2016-09-09 13:41:25 +03:00
Gokhan Simsek 38df06261b New branch Export_Import; adding export tool bar item into main windows; adding icons for export and import 2016-09-08 14:09:11 +03:00
Gokhan Simsek 0086df54f0 DockableOutputWindow: Focus on active shell query tab when related dock output window is selected 2016-09-07 20:05:06 +03:00
Gokhan Simsek ddc0c910c8 DockableOutputWindow: Removing unused signal-slot connection 2016-09-07 14:02:04 +03:00
Gokhan Simsek 31f74baef7 DockableOutputWindow: Adding close button on dock output window with custom close event (dock instead of close) 2016-09-07 13:41:39 +03:00
Gokhan Simsek 8cd4f50304 DockableOutputWindow: Fix to solve crash on "Update Documents" 2016-09-07 11:06:55 +03:00
Gokhan Simsek 48f6abb361 DockableOutputWindow: Fix to solve un-selectable query window text issue when output window is floating. 2016-09-06 19:28:34 +03:00
Gokhan Simsek 27626665a1 RepSets: Adding code to check/save live status of Replica Set (health of members and who is primary) and show it in UI; showing Replica Set information/icon on ConnectionsDialog. 2016-09-06 14:38:50 +03:00
Gokhan Simsek 47039d8685 DockableOutputWindow: Adding code to support full window query editor when output window is docked 2016-09-06 02:51:25 +03:00
Gokhan Simsek bc9aded3b7 DockableOutputWindow: Bring the output dock window front when tabs changed on main window 2016-09-04 21:50:18 +03:00
Gokhan Simsek f919544d1e DockableOutputWindow: Adding docked and undocked(full screen space for queries) modes for query window (ScriptWidget). 2016-09-04 18:59:16 +03:00
Gokhan Simsek ea49d0508a DockableOutputWindow: Adding dock capability for query result window (OutputWidget) 2016-09-03 21:57:08 +03:00
Gökhan Simsek 894f508f6c Merge pull request #1145 from flier/currentOps
Addition of db.currentOp() and db.killOp() as a database context menu items
2016-09-02 15:53:37 +03:00
Gökhan Simsek 2f2d3d584e Merge pull request #1129 from xuser86/issue-1127
#1127: Added two new context menu options in document view: "Copy Path" and "Copy Name"
2016-09-02 15:42:55 +03:00
Gokhan Simsek 67ae8a614d Merge branch 'ReplicaSets' 2016-09-02 12:21:33 +03:00
Gokhan Simsek cbba0e639d RepSets: Adding code to connect to Replica Set (using DBClientReplicaSet class) 2016-09-01 18:10:22 +03:00
Gokhan Simsek 8f3fdf3d1d RepSets: Adding "Open Direct Connection" functionality for replica member UI items 2016-08-31 13:10:31 +03:00
Gokhan Simsek 650fdd60cc RepSets: Adding double-click open shell functionality for replica member items 2016-08-31 12:39:58 +03:00
Gokhan Simsek 8b114b5122 Merge branch 'ReplicaSets' 2016-08-31 12:12:54 +03:00
Gokhan Simsek bc96addce5 RepSets: Adding various right click menu functionalities for replica set member UI items 2016-08-31 12:12:14 +03:00
Gokhan Simsek bac2c9d5ec RepSets: Adding new GUI class ExplorerReplicaSetTreeItem to represent a replica set member; adding simple icon for replica set. 2016-08-30 18:13:53 +03:00
Gokhan Simsek 94e0c37cf8 Merge branch 'ReplicaSets' 2016-08-29 19:26:21 +03:00
Gokhan Simsek 42d6181724 RepSets: Minor coding style refactoring 2016-08-26 20:50:15 +03:00
Gokhan Simsek 4c5f2e99cb RepSets: Adding code to save&load replica members to/from connection settings. 2016-08-26 17:23:12 +03:00
Gokhan Simsek 95e2fef4a6 Minor changes in CHANGELOG file. 2016-08-26 14:40:19 +03:00
Gökhan Simsek 4d8e3e61a1 Update README.md - minor corrections. 2016-08-26 14:18:27 +03:00
Gökhan Simsek c227798a4b Update README.md for RC10 release. 2016-08-26 14:15:56 +03:00
Gokhan Simsek fc5a6b9ac6 Merge branch 'master' into ReplicaSets 2016-08-25 12:03:31 +03:00
Gokhan Simsek b820f17b3c RepSets: Adding ReplicaSetSettings class and code to load&save related settings between file and UI. 2016-08-25 12:02:46 +03:00
Gokhan Simsek 079ec51dac CreateCollection: Correcting typo which was causing crash on debug mode. 2016-08-25 11:05:27 +03:00
Gökhan Simsek 88dee956f2 Adding ObjectRocket as supported platforms. 2016-08-23 12:33:44 +03:00
Gökhan Simsek 53945eb095 Adding new feature to main robomongo.md page. 2016-08-19 13:53:52 +03:00
Josh 578447ecc3 Add system tray icon and implement ability to close to system tray
(Windows)
2016-08-18 16:52:26 +01:00
Gökhan Simsek 0cecad49b3 Doc: Adding section to mention about new page: Robomongo Code Quality 2016-08-16 11:29:22 +03:00
Gokhan Simsek 652df93690 ReplicaSets: Adding related main UI widgets 2016-08-15 15:24:08 +03:00
Gökhan Simsek efa81c11c5 Updating link to new build pages 2016-08-12 18:12:06 +03:00
Gokhan Simsek 4af070b5b8 Adding new branch ReplicaSets 2016-08-12 17:33:16 +03:00
Rafał Jeżewski 95faf9332e Merge branch 'master' into issue-1127 2016-08-09 22:36:01 +02:00
Gökhan Simsek 7e87befd3d Updating build steps for Linux 2016-08-08 20:09:22 +03:00
Gökhan Simsek d6155f4c35 Adding mLab as supported and note about support limitation for MongoDB Atlas. 2016-08-08 14:22:06 +03:00
Gokhan Simsek 33c89eac63 Updating changelog for RC10. 2016-08-08 10:46:34 +03:00
Gökhan Simsek 335adc6bdb Adding MongoDB Atlas and Compose as supported. 2016-08-06 16:19:24 +03:00
Gokhan Simseek a107084745 UI fix to hide the password visibility by default and setting default icon for Auth and SSH tabs. 2016-08-05 22:36:47 +03:00
Gokhan Simsek 67f60b19ea Minor cosmetic fix, on MAC selecting cancel on file browse dialog results with problem where focus goes to parent of parent dialog. 2016-08-04 18:49:49 +03:00
Gokhan Simsek 734b17d0e7 SSL: Minor refactoring on MAC build which effects bin/run and bin/install & bin/pack output executable and package. 2016-08-04 13:46:27 +03:00
Gokhan Simsek 7739c92064 RC10 2016-08-03 13:04:01 +03:00
Gokhan Simsek 0ae5f12024 SSLTab: Applying Robomongo coding styles and some minor refactorings. 2016-08-03 13:00:12 +03:00
Gokhan Simsek e05dd9d1e9 SSLTab: Resetting SSL global parameters after it is being used and before every (SSL or non-SSL) connection request. 2016-08-03 09:59:16 +03:00
Gökhan Simsek ecbbeaeeca Adding extra steps for MAC to fix failing command "bin/run" 2016-08-03 09:22:08 +03:00
Flier Lu ea164e82a7 add db.killOp() as template to the context menu item 2016-08-02 02:00:04 +08:00
Flier Lu bfa1e68ce0 add db.currentOps() as a context menu item 2016-08-02 01:29:10 +08:00
Gokhan Simsek dc010092ab Adding default values for SSL settings 2016-08-01 19:32:16 +03:00
Gokhan Simsek 82c6bd6452 Merge branch 'master' into SSLTab 2016-08-01 16:03:23 +03:00
Gokhan Simsek 49a1251091 SSL: For Linux, updating find OpenSSL location and adding lib install code. 2016-08-01 16:02:26 +03:00
Gökhan Simsek 97ffad1178 Updating OpenSSL build steps for Linux 2016-08-01 15:58:35 +03:00
Gökhan Simsek 592883af29 Adding OpenSSL build helper commands for Windows 2016-08-01 12:11:16 +03:00
Gökhan Simsek 51a38c5607 Adding helper commands 2016-08-01 12:08:17 +03:00
Gokhan Simsek 5a645015a2 SSL: Fix for pack cmd line error for Windows: "destination" in cmake must be relative directory. 2016-08-01 11:39:30 +03:00
Gokhan Simsek 064094489f SSLTab: Fix for dylib and rpath problem for MAC (where OpenSSL dylibs were not copied while packing and they had absolute library paths) 2016-08-01 11:25:25 +03:00
Gökhan Simsek 218310c23c Udpating build steps for MAC in order to fix dylib and rpath problem 2016-08-01 11:10:10 +03:00
Gokhan Simsek 7c48a9e28d RC10 Beta Version 2016-07-29 09:25:39 +03:00
Gokhan Simsek 8ecffcbddb Merge remote-tracking branch 'origin/master' into SSLTab 2016-07-28 13:23:35 +03:00
Gökhan Simsek c31f8d8275 Updating build steps for Windows due to Qt 5.7 transition. 2016-07-28 13:22:26 +03:00
Gokhan Simsek 6db3fe11b9 SSLTab: Fix for minor UI flickering issue on MAC. 2016-07-28 13:18:49 +03:00
Gökhan Simsek ae7735f6bd Updating build steps for Mac and Linux due to Qt 5.7 transition. 2016-07-28 13:02:58 +03:00
Gokhan Simsek 22dc364f7e SSLTab: Removing gtk2 as an attempt to fix bin\configure error in ubuntu, reason is gtk2 has been removed in Qt 5.7. 2016-07-28 12:45:35 +03:00
Gokhan Simsek f11f22f6bb SSLTab: Minor adjustment for MAC due to new longer self-signed info text truncation. 2016-07-28 11:47:28 +03:00
Gokhan Simsek 2e07f1a9cb SSLTab: Some minor UI changes; adding more information about self-signed option. 2016-07-28 11:37:30 +03:00
Gokhan Simsek 62bc7e5ff7 SSLTab: Second major non-functional refactoring of SSLTab branch commits 2016-07-27 16:11:30 +03:00
Gokhan Simsek 6b9dd95b26 SSLTab: Window size adjustment for MAC; adding port information into SSL passphrase prompt dialog 2016-07-27 12:26:43 +03:00
Gokhan Simsek 0f3fd3ace1 SSLTab: UI horizontal spacing adjustments for MAC and HiDPI windows 2016-07-27 12:12:49 +03:00
Gokhan Simsek 10b9e91c8e SSLTab: Removing check box "PEM key encrypted..." due to unnecessary complexity. 2016-07-27 10:47:59 +03:00
Gokhan Simsek f813bc42ed Cosmetic: Cross platform pushbutton size adjustments 2016-07-26 21:30:45 +03:00
Gokhan Simsek 1c713c0e7e For related connection tabs, updating password show/hide icon with a new icon and adjusting button sizes 2016-07-26 20:15:30 +03:00
Gokhan Simsek 6b36671ad7 SSLTab: Reverting to original/removing ConnectionFailedEvent::Reason::Unknown case due to increased complexity. 2016-07-26 18:32:16 +03:00
Gokhan Simsek 720ee7981b SSLTab: Updating/adding new show/hide password icons; adding credits for icon designer company into about Robomongo window. 2016-07-26 17:43:12 +03:00
Gokhan Simsek dbed9b88a4 SSLTab: Adding tooltip (hint) helper text for users. 2016-07-26 12:01:22 +03:00
Gokhan Simsek d5afee08af SSLTab: Adding function to reset global SSL params and conditional passing of CA file. 2016-07-26 11:58:59 +03:00
Gokhan Simsek 5ae70fcf29 SSLTab: Adding warning dialog and protection for the case when both SSL and SSH are enabled. 2016-07-26 10:29:08 +03:00
Gokhan Simsek 16621d9ce1 SSLTab: Attempt to fix memory leak and resulting never closed mongod connections problem caused by an SSL connection failure exception at _dbclient->connect(_connection->info()) between manual new and delete of conn owning pointer. 2016-07-26 10:05:57 +03:00
Gokhan Simsek 32bfb590a8 SSLTab: Adding more information about failed SSL connection attempts into ConnectionDiagnosticDialog and Main error window; important change-adding reset params code into MongoWorker::writeGlobalSSLparams(). 2016-07-25 15:53:34 +03:00
Gokhan Simsek 0e2f9b427f SSLTab: Adding prompt dialog for PEM passphrase into App; adding "ask passphrase each time" feature code into SslSettings and SSLTab modules 2016-07-22 14:21:36 +03:00
Gokhan Simsek 1f8abd1be7 SSLTab: Minor UI change - top alignment adjustment required only for Windows 2016-07-21 14:11:45 +03:00
Gokhan Simsek f7e24ba46c Merge remote-tracking branch 'origin/master' into SSLTab 2016-07-21 12:53:43 +03:00
Gokhan Simsek d3b993d67e SSLTab: Adding usePemFile and useAdvancedOptions for SslSettings; adding minimum width for ConnectionDialog; adding PEM passphrase validation and some UI changes. 2016-07-21 12:53:23 +03:00
Gökhan Simsek eddd6269e7 Update README.md 2016-07-21 12:35:14 +03:00
Gokhan Simsek ad14cf6a94 SSLTab: Updating UI by removing indented style sub options, and some refactorings 2016-07-19 19:08:11 +03:00
Gökhan Simsek 53f92d91e7 Doc: Adding Qt insallation steps for MAC and Linux in BuildingRobomongo.md 2016-07-19 14:34:50 +03:00
Gokhan Simsek 58e8c708c4 SSLTab: Adding code to fix the issue on Windows High DPI button height is slightly bigger than other widgets 2016-07-15 13:16:14 +03:00
Gokhan Simsek 3b7f1f9cce SSLTab: Adding UI changes for MAC OSX issues 2016-07-15 12:23:50 +03:00
Gokhan Simsek d921975e9f Enabling Qt 5.7 cross platform High DPI support 2016-07-15 11:05:30 +03:00
Gokhan Simsek 9db35b6597 Major UI change: making SSL tab UI more simplistic and expanding; adding show/hide passphrase icons. 2016-07-15 11:02:42 +03:00
Rafał Jeżewski c6c5bd179b coding style fix 2016-07-12 12:46:04 +02:00
Rafał Jeżewski dd1d3ebdc4 #1127: Added two new context menu options in document view: "Copy Path" and "Copy Name" 2016-07-12 11:51:25 +02:00
Gokhan Simsek d5110c4ac8 Adding trivial cosmetic changes and hint strings. 2016-07-11 11:43:03 +03:00
Gokhan Simsek e08775f18a Correcting function name typo in SSLTab class 2016-07-08 18:19:56 +03:00
Gokhan Simsek a1e273a147 More trivial refactoring on SSLTab module 2016-07-08 17:54:52 +03:00
Gokhan Simsek 79a7d163c4 Adding file existence check into SSLTab accept() 2016-07-08 13:56:25 +03:00
Gokhan Simsek 4fd1a633e7 Changing size policy of ConnectionDialog to adjustSize(), trivial refactoring on MainWindow.h 2016-07-08 12:07:29 +03:00
Gökhan Simsek ce126b0f1d SSL: Updating build steps for MAC and linux according to new SSL feature. 2016-07-07 15:58:37 +03:00
Gökhan Simsek 1ccde63c31 SSL: Correction for windows build steps, set ROBOMONGO_CMAKE_PREFIX_PATH should be done after cloning robomongo-shell. 2016-07-07 14:13:49 +03:00
Gökhan Simsek 713972aed0 SSL: Updating build steps for windows in BuildingRobomongoOnWindows.md according to new SSL feature. 2016-07-06 18:46:45 +03:00
Gokhan Simsek a1abb11ec4 Merge remote-tracking branch 'origin/master' into SSLTab 2016-07-06 14:33:04 +03:00
Gokhan Simsek 2f86b628f9 First refactoring attempt of SSLTab branch - only trivial changes, no behavioral changes. 2016-07-06 14:31:34 +03:00
Gökhan Simsek 23994758dd Merge pull request #1124 from Aahanbhatt/master
Edited README.md file, changed copyrights from 2015 to 2016
2016-07-06 13:59:05 +03:00
Gökhan Simsek 1c5b6a722a Update BuildingRobomongoOnWindows.md 2016-07-06 13:06:45 +03:00
Gokhan Simsek a62d826005 Updating Linux objects files according to SSL build of mongo shell, adding OpenSSL dynamic library for linux into FindOpenSSL.cmake file. 2016-07-04 17:14:52 +03:00
Aahanbhatt c98d72f0cd Edited README.md file, changed copyrights from 2015 to 2016 2016-07-04 16:58:45 +05:30
Gokhan Simsek 55d59c1944 Removing src\third-party\openssl directory and files since Robomongo will dynamically depend on OpenSSL instead of building OpenSSL itself. 2016-06-30 18:46:26 +03:00
Gokhan Simsek 064b0b5ee1 Updating cmake script for OSX for finding version and dynamic lib path. 2016-06-29 22:19:19 +03:00
Gokhan Simsek ebf03afa75 Cmake changes for first attempt to make OpenSSL dynamically dependent (static previously). 2016-06-29 16:09:32 +03:00
Gokhan Simsek 116b2efd5f Merge branch 'SSLTab' of https://github.com/paralect/robomongo into SSLTab 2016-06-27 17:37:20 +03:00
Gokhan Simsek dfa66b8113 Merge remote-tracking branch 'origin/master' into SSLTab 2016-06-27 17:34:56 +03:00
Gokhan Simsek 620b0ff59a Updating OSX objects files according to SSL build of mongo shell, adding openssl include directory needed by robomongo project build. 2016-06-27 17:16:03 +03:00
Gokhan Simsek bc01acfef0 Updating windows objects files according to SSL build of mongo shell. 2016-06-27 17:12:13 +03:00
Gokhan Simsek f8199eaa79 Chg: Minor refactoring on MongoWorker and SSLTab classes. 2016-06-26 19:29:10 +03:00
Gokhan Simsek bb7408979a Minor re-factoring and conditional passing of sslGlobalParams.sslPEMKeyPassword 2016-06-16 13:43:46 +03:00
Gokhan Simsek 93a42e752b Adding pemKeyEncrypted into SSLSettings, switching to all grid main layout, adding slot for toggling client cert passphrase checbox. 2016-06-16 12:56:37 +03:00
Gokhan Simsek 8959bcb912 SSLTab cosmetic changes: groupbox design approach. 2016-06-15 22:21:06 +03:00
Gokhan Simsek d533e3bf8e Adding advanced options - allowInvalidHostnames and CRL file. 2016-06-15 18:57:34 +03:00
Gokhan Simsek fbdd73ec58 Adding support for allowInvalidCertificates SSL option into MongoWorker, SslSettings and SSLTab. 2016-06-14 19:58:39 +03:00
Gokhan Simsek 3c5e570e04 Adding connections with pemKeyPassPhrase option support into SSLTab, SslSettings and MongoWorker classes. 2016-06-13 17:40:32 +03:00
Gokhan Simsek 263c02eaab Adding pem key file browse button and action 2016-06-09 19:37:38 +03:00
Gokhan Simsek 44ad01b3ad Adding first fully working version from UI version with sslCAFile - details: adding allowSSL into main.cpp for global SSL initialization, adding caFile member into SslSettings class, adding caFile browse button. 2016-06-09 11:07:22 +03:00
simsekgokhan a37736eed6 Update BuildingRobomongoOnWindows.md 2016-06-06 15:04:10 +03:00
simsekgokhan a3c09047e6 Update README.md 2016-06-06 15:00:19 +03:00
simsekgokhan dc30c28c02 Update README.md - minor alignment issue 2016-06-06 14:54:30 +03:00
simsekgokhan d17f2e6eb9 Update README.md 2016-06-06 14:39:52 +03:00
simsekgokhan fdabd03924 Update README.md 2016-06-06 14:39:01 +03:00
Gokhan Simsek a8a04186ed Adding all UI widgets 2016-06-03 14:16:09 +03:00
Gokhan Simsek 164dd1d7a5 Chg: Adding SSLTab into cmakelist and into Connection Dialog UI. 2016-06-03 12:07:51 +03:00
Gokhan Simsek 4fc487348a New branch SSLTab 2016-06-03 11:43:35 +03:00
schetnikovich 0bb566869e Minor typo fix for Collections dialog 2016-06-01 15:03:11 +03:00
Gokhan Simsek 9fb495d785 Chg: Updating change log for RC9. 2016-05-30 19:15:51 +03:00
Gokhan Simsek df86e7c8ec Chg: Create Collection dialog: Hiding powerOfTwoSizeCheckBox if db version is higher than 3.0. 2016-05-27 16:26:39 +03:00
Gokhan Simsek 1e6f4d8052 Chg: Create Collection dialog: powerOfTwoSizeCheckBox is checked by default if storage engine type is MMAPV1; showing/enabling deprecated options in UI; refactoring DBVersion. 2016-05-27 11:36:13 +03:00
Gokhan Simsek bd470b1330 Minor change, removing saveState() due to runtime warnings. saveGeometry() is already enough for related feature. 2016-05-26 18:45:32 +03:00
Gokhan Simsek 60b3494207 Chg: Minor adjustment for non-high-DPI screens. 2016-05-26 17:38:45 +03:00
Gokhan Simsek 475a7fc44c #1102: Chg: Updating code to handle multiple screen condition. Saving/restoring only size, not geometry for Connections Dialog and Create Collection (advanced view) in order to show sub-windows on the same screen as (and on top of) Main Window. 2016-05-26 17:34:11 +03:00
Gokhan Simsek f19c5a0dc0 Chg: Updating fix for create collection crash to use copy of extraOptions BSON object instead of unique_ptr. 2016-05-26 16:35:52 +03:00
Gokhan Simsek 3e35f1dea3 #1102: Adding support to save geometry for more actions (connect, cancel buttons for Connections dialog and create, advanced buttons for Create Collection dialog) 2016-05-26 10:46:10 +03:00
Gokhan Simsek d8197dd00e Fix: Create Collection dialog "'usePowerOf2Sizes" option should be enabled for 2.6.11 mongodb-version. 2016-05-25 16:28:54 +03:00
Gokhan Simsek 3205248519 Fix: CreateCollection dialog "maximum number of documents" option should be optional, not required. 2016-05-25 15:55:02 +03:00
Gokhan Simsek 224801dcd9 Reverting usage of std::unique_ptr from C++14 to C++11. 2016-05-25 13:58:49 +03:00
Gokhan Simsek e8c0de07de Merge branch 'RestoreWindowSettings' 2016-05-25 13:28:02 +03:00
Gokhan Simsek cf7e061c7a Feature: For CreateCollection dialog, adding advanced button and expandable advanced option tabs and functionality to save/restore window geometry. 2016-05-25 13:27:06 +03:00
Gokhan Simsek a75becd6c5 Feature: Adding functionality to be able to restore/save window geometry/state for MainWindsow and ConnectionsDialog. 2016-05-25 11:44:18 +03:00
Gokhan Simsek e411bbe3c4 Fix: #1090: Adding informative comment. 2016-05-25 10:07:32 +03:00
Gokhan Simsek c8ca4bc945 Fix: #1090: Patch for libssh2 for ssh connection failure due to Ubuntu 16.04/OSX's OpenSSH 6.9 version have disabled obsolete form of KEX "Diffie-Hellman group exchange" algorithm. 2016-05-25 10:05:02 +03:00
Gokhan Simsek ffd9d13d79 Fixing crash related to race problem between local objects destruction and threads processing. 2016-05-19 18:38:14 +03:00
schetnikovich 4addeb5835 #1086: Imported connections compared with existing and information message is shown. 2016-05-06 19:08:03 +03:00
Dmitry Schetnikovich c086c9ab83 Update BuildingRobomongo.md 2016-05-05 18:14:07 +03:00
Dmitry Schetnikovich 44e30e4520 Update BuildingMongoDB.md 2016-05-05 18:08:12 +03:00
Dmitry Schetnikovich 8f93cd7dd6 Update BuildingRobomongo.md 2016-05-05 18:04:35 +03:00
schetnikovich a4390d348b #1086: Importing of connection settings from previous versions of Robomongo 2016-04-29 21:23:10 +03:00
schetnikovich bd72766414 Connections Dialog top link's color changed 2016-04-29 13:27:59 +03:00
schetnikovich 866828c1ba #1083 Correct handling of create/drop of databases and collections. 2016-04-28 22:09:25 +03:00
schetnikovich 8cedcc5d55 Robomongo RC9 2016-04-25 14:29:29 +03:00
gokhan.simsek 860cee5f12 #1077: Support for all options when creating new collection 2016-04-22 20:01:47 +03:00
schetnikovich a75972cf3b #1080 Shell helpers for legacy and new UUID types 2016-04-19 17:45:58 +03:00
schetnikovich 03e3592443 bin/tag 2016-04-18 13:58:36 +03:00
schetnikovich c113244319 Minor UI improvement for "Ask for password" dialog 2016-04-14 12:55:18 +03:00
schetnikovich 3a64e1310b Do not log password 2016-04-13 17:34:35 +03:00
schetnikovich 306b759b74 Fixed incorrect validation on SSH tab 2016-04-13 16:53:29 +03:00
schetnikovich 5976884b0f Details about SSH server, user name and private key file path when asked about password/passphrase. 2016-04-13 15:10:53 +03:00
schetnikovich ee907c3321 Disable and clear password and passphrase fields when "Ask password each time" checkbox is selected 2016-04-13 13:43:42 +03:00
schetnikovich 86307a724f Different text for "ask password" and "ask passphrase" checkbox 2016-04-12 23:56:58 +03:00
schetnikovich 997aa44654 #609 Robomongo should not force to save SSH passwords
Added option to always ask user for SSH password or passphrase and never store it in a plain text
2016-04-12 21:05:38 +03:00
schetnikovich feb1d277e9 Support for "~" expansion and validation of file path for SSH private key 2016-04-12 19:33:07 +03:00
schetnikovich 7e1dac26f1 SSH tab moved before Advanced and other minor UI tweaks of settings tabs 2016-04-12 19:05:47 +03:00
schetnikovich a7b95d4caf #1074 Fixed: Crash when "Copy JSON" an object within an array 2016-04-12 17:46:23 +03:00
schetnikovich bb042fe70b Brace matching turned off on the Mac because of flickering issue with Scintilla 2016-04-12 16:38:18 +03:00
schetnikovich e50ee8fbee Turn off echo of autocompletion cache setup 2016-04-12 14:41:01 +03:00
schetnikovich 55d8a6ff76 DB collections autocompletion cached for fixed number of seconds 2016-04-12 14:05:12 +03:00
schetnikovich 576fc07b5b Limit serverHost to fixed number of characters 2016-04-12 10:10:20 +03:00
schetnikovich b4978269a5 Set focus to address textbox when SSH is enabled 2016-04-11 23:10:08 +03:00
schetnikovich 24e9a74a6c Fixed two issues of blinking text and UI
1. Latest version of QScintilla has a bug with lexers that makes UI blink when editing text. We downgraded back to v2.8.1
2. Adding of a new line to the script editor in the tab no longer forces unnecessary repaint and repositioning of widgets (no more blinking)
2016-04-11 21:40:09 +03:00
schetnikovich 61e79155b4 QScintilla downgraded to v2.8.4 (from v2.9.1) because of issue with lexers 2016-04-11 21:32:46 +03:00
schetnikovich d23d9a2e7a Ping timeout set to 3 seconds for the shell 2016-04-11 17:20:27 +03:00
schetnikovich ae13e30494 #1063 Fixed: OSX Edit/View Document Popup only opens on main display 2016-04-11 17:01:10 +03:00
schetnikovich 292c664941 Config-level settings for operation timeout: both for MongoDB client and for the shell 2016-04-11 15:36:53 +03:00
schetnikovich c78845571e Separate handling of NumberInt conversion 2016-04-11 09:25:09 +03:00
schetnikovich a0d5c67e48 #1069: Fixed: Double 0.0 gets converted to Int32 0 after editing 2016-04-10 18:28:47 +03:00
schetnikovich 059a3dcc37 Code style fixes for the most horrible disuse of whitespaces 2016-04-10 16:02:36 +03:00
schetnikovich d543bb4539 Unused variable removed 2016-04-10 14:44:02 +03:00
schetnikovich 3e8f800682 Handling of edge cases with proper reporting and changes in MongoWorker
1. Detailed error message link in Diagnostic window
2. Cleanup of opened MongoServers and SSH workers in case of failure
3. Better status messages in Diagnostic window when using SSH tunnel
4. Script engine is now starts after an attempt to connect to MongoDB
2016-04-10 14:09:58 +03:00
schetnikovich 368f2abe0d Diagnostic window resizes only if needed and without layout "jumps". 2016-04-09 12:48:35 +03:00
schetnikovich 1e8af399e7 Code typo fix 2016-04-08 21:39:24 +03:00
schetnikovich 72f669e189 Merge branch 'master' of github.com:paralect/robomongo 2016-04-08 21:15:50 +03:00
schetnikovich c787b54e7c Connection diagnostic rewritten
1. Checks creation of SSH tunnel
2. Checks connection to MongoDB
3. Checks ability to list databases
4. Checks ability to authorize
2016-04-08 21:15:08 +03:00
Dmitry Schetnikovich 3512be30cf Wrong header for Windows (fixed) 2016-04-07 15:32:01 +03:00
schetnikovich 0bb279eec8 Support for domain names and IPv6 address of remote SSH server 2016-04-07 15:18:48 +03:00
Dmitry Schetnikovich 75331d9025 Warnings-free compilation for MSVC (well, almost) 2016-04-06 19:09:13 +03:00
schetnikovich 99a46eafc8 Warnings-free compilation for Clang 2016-04-06 16:41:29 +03:00
Dmitry Schetnikovich ac9300f5be Better handling of client disconnection for SSH tunnel 2016-04-06 15:30:49 +03:00
Dmitry Schetnikovich 4e4e5154f4 Compilation of RC8 under Windows 2016-04-06 13:20:05 +03:00
schetnikovich b54c096762 Robomongo RC8 2016-04-05 16:29:51 +03:00
Dmitry Schetnikovich 5d409ec1de Merge pull request #1072 from paralect/ssh
Support for SSH protocol
2016-04-05 16:24:33 +03:00
schetnikovich 845315eeb5 Simplified LIBSSH2 CMake listfile 2016-04-05 16:19:42 +03:00
schetnikovich 803306eea5 Default to gnu99 for both GCC and Clang 2016-04-05 14:58:51 +03:00
schetnikovich 94ef0d75d7 Modified gitignore and missed header in OpenSSL 2016-04-05 13:24:37 +03:00
schetnikovich 604d439d57 OpenSSL CMake listfile tweaks 2016-04-05 12:39:25 +03:00
schetnikovich d37f8c7bab OpenSSL 1.0.1e 2016-04-04 21:47:50 +03:00
schetnikovich c7ab94a5a5 Ignore SIGPIPE signal 2016-04-04 20:01:42 +03:00
schetnikovich a6428ce968 Use of LIBSSH2 error codes 2016-04-04 16:31:42 +03:00
schetnikovich 8dd0cd3050 Restructuring of SSH submodule. Updated to the latest version of LIBSSH2. 2016-04-04 15:53:12 +03:00
schetnikovich baede8d8bd SSH tunnel: Log functions moved to separate file II 2016-04-02 13:34:28 +03:00
schetnikovich 2328ec7b31 SSH tunnel: Log functions moved to separate file 2016-04-02 13:34:01 +03:00
schetnikovich 719df7b241 Error handling for the most important operations is restored.
1. First steps to support automatic reconnection for SSH tunnel
2. UI tweaks for Explorer tree items (handling of errors and empty children)
3. Correct handling of invalid mongo::DBClientCursor
4. Null semantic of value type EventError is restored. Was broken by reliance on emptiness of error message string, dah!
5. Error state for several messages is restored. Not for all messages, but still something :)
6. Errors produced by MongoWorker now contains exact error message, instead of constant text.
7. More strict error handling for SSH worker
2016-04-02 01:19:58 +03:00
schetnikovich dff7f0539a Preparation to handle reconnection automatically 2016-03-31 13:56:37 +03:00
schetnikovich f03cf048d8 Minor changes with whitespace characters in the code 2016-03-29 20:43:41 +03:00
schetnikovich 22ffc2ec15 Do not print batch size in the logs 2016-03-29 19:51:49 +03:00
schetnikovich 09a0edb39a Check for availability of "rc" files (this removes unnecessary warnings in logs) 2016-03-29 19:44:10 +03:00
schetnikovich a0a8a7a13e Cleanup of SSH worker thread when no more connected clients 2016-03-29 18:06:05 +03:00
schetnikovich 8f97c06408 Shift + Return when selecting connection in order to enable debug level logging for SSH submodule 2016-03-29 14:57:13 +03:00
schetnikovich af9f8fc6a9 Shift + Connect in order to enable debug level logging for SSH submodule
Added WARN log level
2016-03-29 14:36:38 +03:00
schetnikovich ef6feb2377 Log levels for SSH submodule (ERROR, INFO, DEBUG) 2016-03-28 20:57:22 +03:00
schetnikovich 4e5ffae80c Single log function for SSH submodule 2016-03-28 20:16:45 +03:00
schetnikovich 3597f438cd Handling of different types of sockets moved to separate functions 2016-03-28 19:47:15 +03:00
schetnikovich ad9cc86117 Cleanup of SSH tunnel artifacts: sessions, channels, sockets. 2016-03-28 16:34:25 +03:00
schetnikovich 6656494fda Prefix all global or public C identifiers with "rbm_" 2016-03-27 18:23:57 +03:00
schetnikovich 06ac7dd8f1 Global set of SSH channels replaced with separate channels per each worker thread 2016-03-26 11:57:26 +03:00
schetnikovich 76f4d19b42 Logging to Log panel from SSH tunnel worker 2016-03-25 16:17:25 +03:00
schetnikovich d64a1f704b Real-time logging from SSH Tunnel worker thread. 2016-03-25 12:40:14 +03:00
schetnikovich aa27148868 Detailed errors messages for all system calls when establishing SSH tunnel. 2016-03-24 20:40:12 +03:00
schetnikovich 58c42df669 Better error handling when new connection is made (for normal and via SSH tunnel) 2016-03-24 17:16:10 +03:00
schetnikovich 9c0761826b Automatically bind local SSH tunnel to the first available local port 2016-03-22 23:51:43 +03:00
schetnikovich 63f90dfeb3 SSH tunnel on hard-coded local port 2016-03-22 22:28:40 +03:00
schetnikovich 10b31ef2a9 Two-step connection skeleton (SSH tunnel, and then MongoDB connection) 2016-03-22 20:25:36 +03:00
schetnikovich bb3fd81c4d SSH tunnel worker connection and auth 2016-03-19 20:36:05 +03:00
schetnikovich 2cd6ed2928 SSH public key 2016-03-18 18:42:24 +03:00
schetnikovich fde191f6aa SSH tunnel worker sketch 2016-03-18 18:05:01 +03:00
schetnikovich 1c76852b9c Enable C99 support 2016-03-17 16:27:43 +03:00
schetnikovich 2491f417da Loading and saving of SSH settings 2016-03-17 14:43:18 +03:00
schetnikovich 443b8070f2 SSH tab and settings stub 2016-03-15 22:53:07 +03:00
schetnikovich bb51c1395b Separate SSH channels for different socket connections on the same port
* Additional major fix: restored error handling when connectivity is lost
2016-03-15 20:52:51 +03:00
schetnikovich 3e03cf3d88 Single SSH channel for all socket connections 2016-03-13 21:28:37 +03:00
schetnikovich d6a6bf9719 SSH connection, handshake and authentication routines 2016-03-13 17:43:58 +03:00
schetnikovich 3a2a9d1b7d SSH tunnel config 2016-03-12 20:28:59 +03:00
schetnikovich dda68ff53f Direct port forwarding skeleton 2016-03-11 18:26:45 +03:00
schetnikovich 0ef17c6ad7 Libssh2 compilation 2016-03-11 13:47:29 +03:00
schetnikovich ac58d23713 Libssh2 1.7.0 2016-03-10 23:13:25 +03:00
schetnikovich 5971972525 CHANGELOG updated 2016-03-08 13:58:28 +03:00
schetnikovich 4cc6662837 Merge branch 'master' of github.com:paralect/robomongo 2016-03-06 15:52:50 +03:00
schetnikovich 226cbf48d8 CMake print utils changes 2016-03-06 15:52:01 +03:00
schetnikovich 7d9909c247 #1048: Support for CMake 3.0 2016-03-06 15:50:26 +03:00
Dmitry Schetnikovich 649c096e70 Update BuildingMongoDB.md 2016-03-06 12:47:34 +03:00
Dmitry Schetnikovich ce02d5f5c8 Update BuildingRobomongo.md 2016-03-06 12:45:27 +03:00
Dmitry Schetnikovich 90c667011d Update BuildingMongoDB.md 2016-03-06 12:42:22 +03:00
Dmitry Schetnikovich 0622e85e27 Update BuildingMongoDB.md 2016-03-06 12:41:29 +03:00
Dmitry Schetnikovich 355f01f0a4 Update BuildingMongoDB.md 2016-03-06 12:36:59 +03:00
Dmitry Schetnikovich b0d6cf0842 Update BuildingMongoDB.md 2016-03-06 12:35:35 +03:00
Dmitry Schetnikovich 16b15be81b Update BuildingMongoDB.md 2016-03-06 12:30:43 +03:00
schetnikovich 2b7a8ca14e Version updated to RC7 2016-03-03 18:12:23 +03:00
Dmitry Schetnikovich c338813d1c Update BuildingRobomongoOnWindows.md 2016-03-03 17:48:00 +03:00
schetnikovich 2f38d5b00d #1017: Disable editing in View Mode. Button "Validate" is also now hidden in this mode. 2016-03-03 17:09:17 +03:00
schetnikovich 7c6738e32b Config for "clang-format" tool 2016-03-01 20:32:49 +03:00
schetnikovich 86bfeba68a #929: Show keyboard shortcuts for expand/collapse in context menu 2016-03-01 19:40:37 +03:00
schetnikovich a94aa81c07 #1045: Logs are now shown in the panel at the bottom 2016-02-29 20:50:51 +03:00
schetnikovich 080c1ed865 #1042: Double click on collection should not expand it 2016-02-29 16:49:05 +03:00
schetnikovich c6f13e347c Confirmation dialog for BSON editor when ESC is hit and content is modified
And also clone url in documentation is changed to HTTPS instead of SSH, to allow
allow unauthorized cloning.

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2016-02-28 22:26:05 +03:00
schetnikovich 3cea361cc9 Merge of PR #1037 2016-02-28 22:16:31 +03:00
schetnikovich f6546fc336 Minor code cleanup 2016-02-28 22:08:35 +03:00
schetnikovich 8d12ab45c9 Mac way to "expand recursively" in a BSON subtree #929. Implemented by Anton Zering 2016-02-28 21:46:39 +03:00
schetnikovich 7dfd9184b7 Fix for broken keyboard shortcut for single document #1039 2016-02-28 21:09:10 +03:00
Anton Zering 0977bc00e3 #929: adds shortcut to expand nodes recursively 2016-02-25 01:13:31 +01:00
Anton Zering 2ea847ce0b #1039: fixes deletion of single documents with shortcut 2016-02-25 00:51:05 +01:00
Anton Zering fb2b5e0487 #1017: document editor ask to save changes when closing the window 2016-02-23 23:56:06 +01:00
Anton Zering cce30bb55b Changed clone url to use HTTPS instead of SSH
Use HTTPS instead of SSH to allow unauthorized cloning
2016-02-23 22:56:41 +01:00
Dmitry Schetnikovich 98af4fc747 CHANGELOG updated 2016-02-13 16:30:59 +03:00
schetnikovich 2c04edb1b3 List of collections is loading much faster now 2016-02-13 16:19:51 +03:00
Dmitry Schetnikovich e4500e0c5c Generate ZIP archives for Windows 2016-02-13 12:56:48 +03:00
Dmitry Schetnikovich 820c4a86f0 Fix for compilation error under Windows 2016-02-13 12:52:49 +03:00
Dmitry Schetnikovich d6253ca194 Merge pull request #1018 from CaptainPatate/CaptainPatate/fix-typo
Fix typo
2016-02-12 00:26:19 +03:00
schetnikovich 33e27917ee Version RC6 2016-02-11 15:20:06 +03:00
schetnikovich cea04368a9 Support for IPv6 addresses with and without square brackets 2016-02-11 15:19:16 +03:00
schetnikovich fe9eed7322 Removed use of monospaced font in Auth tab 2016-02-10 20:24:26 +03:00
Dmitry Schetnikovich 33304e2e7a README updated 2016-02-10 20:17:43 +03:00
schetnikovich 4cd51a7de6 IPv6 support 2016-02-10 20:16:22 +03:00
Amaury Gauthier 5ffd65b1a2 Fix typo 2016-02-09 15:18:04 +01:00
schetnikovich 82b96f4f63 Merge branch 'master' of github.com:paralect/robomongo 2016-02-06 19:00:45 +03:00
schetnikovich e0ea15adb9 Ad-free Robomongo 2016-02-06 19:00:29 +03:00
Dmitry Schetnikovich 209ce0c0a9 README updated 2016-02-03 14:34:01 +03:00
Dmitry Schetnikovich 620488c318 README updated 2016-02-03 14:31:27 +03:00
schetnikovich a270926397 CHANGELOG updated 2016-02-01 23:08:35 +03:00
schetnikovich 8c830b6f1a Robomongo RC4 2016-02-01 20:50:45 +03:00
schetnikovich 33d58189c4 All operations with MongoDB now over DBClientBase, instead of DBClientConnection 2016-02-01 18:28:21 +03:00
schetnikovich 5d8370a970 Support for SCRAM-SHA-1 and MONGODB-CR authentication mechanisms.
1. Ability to select auth mechanisms for each connection (defaults to SCRAM-SHA-1)
2. Diagnostic Dialog also now uses required mechanisms.
2016-02-01 15:17:10 +03:00
schetnikovich fb3d37e641 Message box with description of error when deleting documents. 2016-01-31 19:36:53 +03:00
schetnikovich b27f747ff2 Handling of errors when inserting/updating/removing documents. 2016-01-31 18:47:50 +03:00
schetnikovich 2854783aeb Always allow to read from slaves. 2016-01-31 17:32:28 +03:00
Dmitry Schetnikovich 4b8aa3deaf Shortcuts now will be created on Windows (on desktop and start menu)
1. A bit simplified syntax is used for NSIS commands
2. All Robomongo CMake files start from "Robomongo" (except "find" packages)
3. Clean uninstallation under Windows (only config file is not deleted)
2016-01-30 20:10:09 +03:00
schetnikovich f5397b7c68 CHANGELOG updated 2016-01-29 21:19:45 +03:00
schetnikovich 047620492c Typo fixed 2016-01-29 16:20:18 +03:00
schetnikovich bf51f5d6c9 Gray text color for hey message 2016-01-29 12:47:37 +03:00
schetnikovich d7f27e16fe Hey message added for the time of campaign. 2016-01-29 07:16:51 +03:00
schetnikovich cfb30c69c0 Merge of BSON utils 2016-01-29 05:00:13 +03:00
schetnikovich 8ed0335b7b Use of std::numeric_limits<double>::digits10 to get max float-point precision
Tests returned back.
2016-01-29 04:58:30 +03:00
Dmitry Schetnikovich 313179dfbe Temporary fix for compilation under Windows 2016-01-28 21:42:52 +03:00
schetnikovich 97503f2e81 Version RC3 2016-01-28 21:15:25 +03:00
schetnikovich 156bda2600 NumberDecimal write protection. 2016-01-28 20:59:48 +03:00
schetnikovich 6a5ad25bde Use of shortest representation for BSON double types.
#870, #831, #921, #842
2016-01-28 20:33:46 +03:00
schetnikovich 6d06a3c83c Cleanup of unused code 2016-01-28 19:50:25 +03:00
schetnikovich 76cb03b523 Correct handling and display of top-most JS/BSON arrays in tree and text modes. 2016-01-27 19:31:43 +03:00
schetnikovich 6a2f8c655e Built-in ISO date parser replaced with ptimeutil 2016-01-25 21:39:32 +03:00
schetnikovich 4f3bf50acd BSON parsing with support for ISODate and UUIDs.
1. Validate Json functionality is back
2. Use of MongoDB built-in parser for ISO Date format
3. Use of MongoDB built-in parser for NumberLong
2016-01-25 21:06:51 +03:00
Dmitry Schetnikovich 84c1679e14 Fix for Windows install directory 2016-01-25 18:39:08 +03:00
schetnikovich 5ce457b6f6 Use versioned install directory for not stable releases under Windows 2016-01-25 18:24:51 +03:00
schetnikovich 071d79b7f7 Uniformed package name for all platforms.
1. All letters are lowercase
2. Includes platform architecture in the name
2016-01-25 17:46:55 +03:00
Dmitry Schetnikovich c4ccae3ef8 Packaging for Windows
1. NSIS package is now generated for Windows
2. Images for NSIS installer added
3. DESCRIPTION file copied to installation package
4. Icon updated to have smaller resolutions (20, 24, 40 and 48)
2016-01-25 17:23:52 +03:00
Dmitry Schetnikovich 3e67fa00d4 Packaging of runtime libraries for Windows 2016-01-24 20:04:54 +03:00
Dmitry Schetnikovich e34ebdf0de Config for 0.9.x versions now namespaced in .config/robomongo/0.9 folder. Loading of .mongorc.js is turned off by default 2016-01-24 19:25:45 +03:00
Dmitry Schetnikovich c6bdd3a455 Multiresolution ICO file for Windows 2016-01-24 18:55:20 +03:00
Dmitry Schetnikovich 81f22b68d7 QAtomicInteger<int> instead of QAtomicInteger<_Bool or bool> 2016-01-24 16:49:18 +03:00
Dmitry Schetnikovich 888084b19b And now we are forced to use int instead of BOOL, because on Unix BOOL doesn't defined and bool cannot be used on Windows 2016-01-24 16:47:16 +03:00
Dmitry Schetnikovich e2ec2a2f0d Forced to use BOOL instead of bool, because on Windows –QAtomicInteger with bool template arg doesn't compile 2016-01-24 16:37:31 +03:00
schetnikovich e80245ba15 Bug fixed which made MongoWorker shutdown unsafe and incorrect. Proposed and implemented by Patrick Horlebein. 2016-01-24 16:22:02 +03:00
schetnikovich 3ef94811eb Migration notes updated 2016-01-24 15:13:56 +03:00
schetnikovich d78ff306e4 Removed notion about v0.9 branch in docs (which is merged with master) 2016-01-24 14:55:18 +03:00
Dmitry Schetnikovich 06285eb556 Merge pull request #996 from paralect/v0.9
Merge with v0.9 branch
2016-01-24 14:47:50 +03:00
schetnikovich 0a4378b9fc Always Use QProxyStyle (thanks to Patrick Allaert) 2016-01-24 14:33:50 +03:00
Dmitry Schetnikovich 8472201a36 Merge pull request #999 from alexbevi/patch-1
Sort system.js functions by name (_id)
2016-01-24 14:21:23 +03:00
Dmitry Schetnikovich 554d3f4950 Parallel build enabled for VS 2016-01-24 14:09:57 +03:00
Dmitry Schetnikovich 300713d1ad Temporary empty environment used when running under Windows 2016-01-23 21:57:17 +03:00
Dmitry Schetnikovich 0c06122b36 Documentation for building Robomongo under Windows updated 2016-01-23 21:47:13 +03:00
Dmitry Schetnikovich 08bf485229 Note to documentation added about use of SSH agent in Git Bash. 2016-01-23 21:39:33 +03:00
Dmitry Schetnikovich 0b3bc255e6 Fix for install.bat under Windows 2016-01-23 21:31:53 +03:00
Dmitry Schetnikovich c8f0acf144 MongoDB debug objects and support for debug builds on Windows. 2016-01-23 20:15:35 +03:00
Dmitry Schetnikovich 6152d64d6a Installation batch frontend for Windows 2016-01-23 19:42:16 +03:00
Dmitry Schetnikovich 916daa76c9 Windows build configuration
1. Platform integration plugins are now installed for Windows
2. Installation of Qt libraries for Windows
3. Warnings that are turned off in MongoDB code,  also turned when compiling Robomongo
2016-01-23 19:40:56 +03:00
Dmitry Schetnikovich 9636f5f0f5 Windows standard libraries 2016-01-22 22:03:57 +03:00
Dmitry Schetnikovich bda503d3c9 Compilation of QScintilla and QJson on Windows. 2016-01-22 21:30:15 +03:00
Dmitry Schetnikovich d39a79b121 Merge branch 'v0.9' of github.com:paralect/robomongo into v0.9 2016-01-22 20:09:00 +03:00
Dmitry Schetnikovich 68cd7ecc70 Towards Robomongo for Windows
1. Build objects for MongoDB in release mode
2. Shell frontend for common build operations
3. Support for basic packaging in installation phase
2016-01-22 20:07:54 +03:00
schetnikovich 3e82292cfc Prerequisites documentation for building Robomongo for Windows platform 2016-01-22 17:23:19 +03:00
schetnikovich f825309d6e Documentation stab for Building Robomongo on Windows 2016-01-21 21:38:12 +03:00
schetnikovich 852c7041d2 Safer operation for directory removing 2016-01-21 14:50:22 +03:00
schetnikovich a9e24caf67 Documentation updated for building Robomongo and MongoDB fork 2016-01-21 14:31:04 +03:00
schetnikovich f006547b37 Support for Mac SDK 10.9 2016-01-21 13:55:32 +03:00
schetnikovich fb796ce1c4 Style changes for Mac platform 2016-01-20 20:43:27 +03:00
schetnikovich 20301dd0dd Qt "qt.conf" file used for installation phase and some build code cleanup made. 2016-01-20 16:54:18 +03:00
schetnikovich 8178aa91d2 RuntimeDependencies.md troubleshooting guide 2016-01-20 13:18:44 +03:00
schetnikovich 47f963f7dc Getting rid of "robomongo.sh" on Linux.
1. RPATH is now used for both Linux and Mac
2. File "qt.conf" now embedded to binary for all platforms
2016-01-19 21:44:26 +03:00
schetnikovich dade11a029 Documentation stub for BuildingRobomongo.md 2016-01-19 20:09:56 +03:00
schetnikovich 4225dda194 Fix for 'bin/run' utility when run under Mac 2016-01-19 19:59:29 +03:00
schetnikovich e1fdff1db7 DMG .DS_Store file 2016-01-19 19:13:12 +03:00
schetnikovich 369a79b110 Creation of Application Bundle for Mac with all dependencies 2016-01-19 17:35:53 +03:00
schetnikovich a692d66106 Installation of frameworks for Mac 2016-01-18 20:48:08 +03:00
schetnikovich 5957ad03ab Readme for icns regeneration 2016-01-18 17:48:58 +03:00
schetnikovich 7dbba28a18 Logo in icns format added 2016-01-18 17:46:09 +03:00
schetnikovich 0c260945b1 Raw iconset for new logo 2016-01-18 17:41:40 +03:00
Alex Bevilacqua 9aaf94fb06 Sort system.js functions by name (_id) 2016-01-17 20:27:18 -05:00
schetnikovich 2ffc14a778 Creationg of databases fixed for MongoDB 3.x 2016-01-17 19:46:00 +03:00
schetnikovich 8910b2f0cb Default settings restored 2016-01-17 19:02:30 +03:00
schetnikovich e2323967e8 Correct background color for TabBar on Linux 2016-01-17 18:43:34 +03:00
schetnikovich d6fdffd59b First steps to style Tab bar for Mac 2016-01-17 18:28:37 +03:00
schetnikovich fd08b27857 Window position for main window and JSON editor now relative to screen size. 2016-01-17 16:31:23 +03:00
schetnikovich a6babd6e0e Bash helper script to run application 2016-01-17 14:38:02 +03:00
schetnikovich 7f371314ce List of MongoDB debug objects 2016-01-16 21:34:41 +03:00
schetnikovich 75e82917aa Compilation for Mac OS 2016-01-16 20:44:35 +03:00
schetnikovich 1befc7e7c5 Mac OS dependencies 2016-01-16 19:27:10 +03:00
schetnikovich ce86901784 Missed DBus library for Linux 2016-01-16 14:38:16 +03:00
schetnikovich 1e40dfa2c0 Several tweaks for building and packaging
1. Linux specific dependencies added
2. Current git commit hash added to package file name
3. Now we use known target Qt5::Core to find Qt lib folder
2016-01-16 14:09:58 +03:00
schetnikovich aa12fbe1c2 Fix installation and packaging for Linux 2016-01-16 13:34:08 +03:00
schetnikovich 510e699bbe Bash frontend intro documentation 2016-01-15 20:48:01 +03:00
schetnikovich 5956997e94 Bash frontends for CMake on Unix-like OSes
1. bin/configure to run CMake configuration
2. bin/build to run CMake build generator
3. bin/install to run CMake 'install/strip' target
4. bin/pack to run CMake 'package" target
5. bin/clean to completely clean 'build' folder
2016-01-15 20:42:13 +03:00
schetnikovich 6cd40d17fe TGZ package creation for Linux 2016-01-15 18:27:30 +03:00
schetnikovich e48fae561b Strip debug info when creating package 2016-01-15 17:54:58 +03:00
schetnikovich b814924352 Do not compile unused lexers for Scintilla (only CPP and JS are left) 2016-01-15 17:35:56 +03:00
schetnikovich dc674d1991 Identified set of Scintilla lexers that are not needed for Robomongo. 2016-01-15 17:15:46 +03:00
schetnikovich f3ecf42f9f PackageRobomongo.cmake added 2016-01-15 17:05:02 +03:00
schetnikovich c5f6f68225 Use relative paths in DESTINATION param of install() command. 2016-01-15 17:00:57 +03:00
schetnikovich 7aaaf6abb6 Several build tweaks for Linux (tested both for release and debug).
1. CMAKE_POSITION_INDEPENDENT_CODE turned on
2. THREADS_PREFER_PTHREADS_FLAT turned on as recommended in module documentation
3. Configuration summary moved to separate file
4. Cleanup of used CXX flags (only -fPIC and -std=c++11 are used for now)
5. Usage of Threads::Threads target instead of explicit link to "pthreads"
2016-01-15 15:35:48 +03:00
schetnikovich 63c942bd20 Installation of Qt plugins 2016-01-15 06:18:58 +03:00
schetnikovich ebbef08258 Robomongo configuration summary updated 2016-01-14 20:30:01 +03:00
schetnikovich 1aff489efe Installation of wrapper script and required ICU libraries 2016-01-14 20:26:09 +03:00
schetnikovich 83e088870e Qt5 libraries copied: Core, Gui and Widgets. 2016-01-14 19:23:10 +03:00
schetnikovich 173a4e7912 Install scripts for Linux. Qt5 libraries copied for distribution. 2016-01-14 19:22:28 +03:00
schetnikovich 9ba567752a JIT enabled (and new icon added :) 2016-01-13 19:48:27 +03:00
schetnikovich f0f0d448ae MongoDB ScriptEngine seems no longer needs to be cleaned 2016-01-13 19:11:14 +03:00
schetnikovich 63f63c4142 Diagnostic output removed from dbshell 2016-01-13 03:18:41 +03:00
schetnikovich 0a135a08b0 CMAKE_INCLUDE_CURRENT_DIR turned off 2016-01-13 03:10:01 +03:00
schetnikovich 802b15228c Several changes
1. Added missed BUILD_MINSIZEREL check
2. Cleanup of robomongo/CMakeLists.txt
3. Removed OS_WIN, OS_MAC and OS_LINUX definitions
4. Q_OBJECT added back to JSLexer
5. Manual moc for QScintilla (automatic doesn't work)
2016-01-12 21:24:49 +03:00
schetnikovich 2459a92a23 Switched to object linking mode with MongoDB instead of static libs.
1. List of objects now read from files
1. Release builds now supported for Linux (and by default)
2. Process of creation of object files is documented
3. In configuration summary we now show Build Type.
2016-01-12 18:52:47 +03:00
schetnikovich 34fc597cc8 FindMongoDB.cmake changes 2016-01-12 16:12:41 +03:00
schetnikovich 13483d3ea2 DefineDefaults.cmake with platform and build type checks 2016-01-11 20:15:14 +03:00
schetnikovich 2776da3660 Formating fix 2016-01-11 19:35:42 +03:00
schetnikovich d819ab361a Default CMAKE_BUILD_TYPE is RelWithDebInfo 2016-01-11 19:33:59 +03:00
schetnikovich 85cbe8e9cd CMake cache cleanuped. All unnecessary cache entries removed 2016-01-11 19:04:25 +03:00
schetnikovich 519fea6f66 FindMongoDB.cmake: INTERFACE IMPORTED instead of STATIC IMPORTED 2016-01-11 15:44:25 +03:00
schetnikovich f35aba90ab Minor changes in file names 2016-01-10 20:30:41 +03:00
schetnikovich 567c2cc2ad FindMongoDB.cmake module now publishes IMPORTED target with all required include dirs, libs and definitions 2016-01-10 20:22:59 +03:00
schetnikovich 47576ae8c0 FindMongoDB.cmake module integrated with Robomongo 2016-01-10 19:14:20 +03:00
schetnikovich b25b33a3a1 CMake target interface is used, instead of DIRECTORY scoped definitions and other compile options 2016-01-10 18:11:23 +03:00
schetnikovich 745bc86275 Readme updated 2016-01-10 17:22:12 +03:00
schetnikovich 128ef1e6fc QScintilla sources moved to third-party/qscintilla/sources folder. README file added 2016-01-10 17:09:48 +03:00
schetnikovich b550bb287a QJson sources moved to /third-party/qjson/sources folder. README file added 2016-01-10 16:54:22 +03:00
schetnikovich 0beb3c886a CMake scripts for QScintilla 2016-01-10 16:10:04 +03:00
schetnikovich b472e90849 CMake script for QJson 2016-01-10 15:41:02 +03:00
schetnikovich 16e09e7e82 Compilation and linking on Linux against MongoDB 3.2
1. Cleanup of CMake (in progress)
  2. FindModule for MongoDB (in progress)
2016-01-09 20:03:55 +03:00
schetnikovich 0eafa778b0 Tada! Robomongo embeds MongoDB 3.2 shell and runs. But for now it cannot connect to MongoDB :). This should be investigated in next days 2016-01-06 22:13:27 +03:00
schetnikovich f8f6f08de9 LogWidget now linked successfully 2016-01-06 21:11:57 +03:00
schetnikovich 226ebe0c75 Files in gui folders dialogs, editors, utils and widgets are compiled and linked 2016-01-06 20:59:45 +03:00
schetnikovich 8c59a8bebb New set of compiled and linked units 2016-01-06 20:48:44 +03:00
schetnikovich 08c72911c5 More compiled and linked units 2016-01-06 20:42:26 +03:00
schetnikovich 71ba8cf9e5 Logbook of migration notes 2016-01-06 20:19:57 +03:00
schetnikovich 81c27fe5dc Successfully linked against upgraded QScintilla2 2016-01-06 20:05:24 +03:00
schetnikovich a04773ccf3 Scintilla upgraded from 3.3.6 to 3.5.4. QScintilla wrapper upgraded from 2.8.4 to 2.9.1 2016-01-06 19:51:40 +03:00
schetnikovich 7273f790d6 Two additional files compiled and linked successfully 2016-01-06 19:47:39 +03:00
schetnikovich b69647d881 Third isolated scope of compilation units 2016-01-06 19:33:42 +03:00
schetnikovich 7226577fcb New isolated set of compilation units compiled and linked successfully 2016-01-06 19:11:23 +03:00
schetnikovich f323fa8b88 Compilation of isolated set of files. Log severity now uses new mongo::logger::LogSeverity() class 2016-01-05 20:31:12 +03:00
schetnikovich 875094a359 Linking with roboshell 2016-01-05 07:19:28 +03:00
schetnikovich 38e7d29a8f BsonUtils and Logger 2016-01-05 02:33:42 +03:00
schetnikovich c716ea4b30 StdUtils, QtUtils and Logger 2016-01-04 21:13:08 +03:00
schetnikovich a2c398540b CMake utils 2016-01-04 17:30:33 +03:00
schetnikovich 4d821f1261 Shell code moved to trash 2016-01-04 14:14:39 +03:00
schetnikovich baaac575c1 Radical project cleanup 2016-01-04 14:07:46 +03:00
schetnikovich ba78c201b8 Ignore vim's *.swp files 2016-01-04 13:31:16 +03:00
schetnikovich 0ec8d76220 Upgraded to newer version of QJson 2016-01-03 20:39:31 +03:00
schetnikovich 968a83c380 Ignore .idea files 2015-12-28 15:25:49 +03:00
Dmitry Schetnikovich b6a2db169e Update README.md 2015-12-11 18:28:34 +03:00
Dmitry Schetnikovich 4e615fbce4 Update README.md 2015-12-11 18:12:55 +03:00
Dmitry Schetnikovich 57251327ae Update README.md 2015-12-10 13:13:34 +03:00
Dmitry Schetnikovich 9a0becd470 Merge pull request #986 from myaskevich/patch-1
Update README.md
2015-12-10 13:11:55 +03:00
Maxim Yaskevich 974cc4b561 Update README.md
Fix Magic Backlog link
2015-12-10 12:48:17 +03:00
Andrew Orsich 165f23753f updated readme. features in mind :) feature -> future 2015-12-10 11:05:58 +03:00
Andrew Orsich 8ac6426d91 Updated readme, added notes about campaign. 2015-12-10 10:39:15 +03:00
Stephen Steneker 97c1cf55c8 Fix #831: Text mode number values displaying in scientific notation 2015-04-15 21:30:00 +10:00
Stephen Steneker c43ea0e690 Merge pull request #844 from hdeheer/patch-1
Fix missing ; for point size in settingsManager
2015-04-15 21:26:39 +10:00
Hubert 09d84aedb3 Fix missing ; 2015-04-15 13:01:20 +02:00
Stephen Steneker 40585da9a4 Merge pull request #803 from CraigKelly/bug-649
Allow font specification to work around issue #649
2015-04-15 16:43:50 +10:00
Stephen Steneker 5abd6029d5 Merge pull request #836 from candronikos/fix-CMAKE-INSTALL_PREFIX
Fixed CMAKE_INSTALL_PREFIX typo
2015-04-15 10:46:16 +10:00
Christopher Andronikos d766cf5c56 Fixed CMAKE_INSTALL_PREFIX now has effect 2015-04-04 17:07:59 +11:00
Stephen Steneker 91246d6c26 Ignore Qt5 Creator's user files 2015-03-20 17:12:28 +11:00
Stephen Steneker 7f54a7ec2c Fix #804: Some keys not working in 0.8.5 (Windows remote to Ubuntu
running xrdp)
2015-03-19 21:00:58 +11:00
Stephen Steneker f96ec0a1c2 Add a Support section and link to Gitter chat 2015-03-19 20:59:33 +11:00
Stephen Steneker e3af2978e1 Set dev version to 0.8.6 for bugfix release 2015-03-19 17:02:46 +11:00
Stephen Steneker 3298c06577 Fix #806: Respect setting of MACOSX_DEPLOYMENT_TARGET for min OS X SDK 2015-03-19 17:00:00 +11:00
Stephen Steneker 6a06ed57d2 Update README with current & upcoming release info and more ways to
contribute.
2015-03-18 05:49:38 +11:00
Craig Kelly 1204c5ddca Add text font family and point size to SettingsManager and honor in
GuiRegistry. This allows Linux users experiencing issue #649 to use a
different font (since the default monospace font appears to be giving Qt5
fits on some systems). It is also the first half of implementing #645
2015-03-16 17:30:13 -05:00
Stephen Steneker 28deda2425 Merge pull request #785 from rskvazh/master
Fix #475 wrong type for field (count) 1 != 16
2015-03-15 13:07:45 +11:00
Stephen Steneker 5446ecf43e Bump release version & copyright for 0.9.0dev 2015-03-15 13:06:39 +11:00
Stephen Steneker 3170d5dec1 Remove unused Circle icons 2015-03-15 11:02:20 +11:00
Stephen Steneker 092ba3e06d Remove unused bson-old icons 2015-03-15 11:00:23 +11:00
Stephen Steneker deaef6ca2b Fix #796: Incorrect description for RPM package 2015-03-14 14:22:55 +11:00
Stephen Steneker e2678c177d Fix #783: Create 0.8.5 64-bit RPM package
- update deps to install RPM on Centos 6.6 minimal w/ Qt 5.3.2
2015-03-14 05:30:27 +11:00
Stephen Steneker 9b1e65b95a Fix #787: 0.8.5 .deb package missing Qt xcb plugin
- remove hardcoded (and outdated deps) and re-enable auto-detection
2015-03-12 20:54:36 +11:00
Stephen Steneker 3b5d96f71f Merge branch 'master' of github.com:paralect/robomongo 2015-03-12 00:22:11 +11:00
Stephen Steneker eb54fbeb68 Remove copy-pasta backup of cmake files 2015-03-12 00:21:28 +11:00
Stephen Steneker aa2e887a55 Fix #733: make fails while building ExternalLexer 2015-03-12 00:16:15 +11:00
Stephen Steneker 64711a7056 Suppress deprecation warnings in third_party libs 2015-03-12 00:11:20 +11:00
Stephen Steneker 7b3550d474 Suppress C++11 literal-suffix warnings 2015-03-12 00:09:25 +11:00
Stephen Steneker 7bfe5b4dbb Fix #425: Build fails: error: 'uint64_t' does not name a type
- also suppress spurious warnings in gcc 4.8.x
2015-03-11 23:16:17 +11:00
Stephen Steneker 3f82453a64 Add Linux ICU dependencies for Qt 5.3 2015-03-11 22:55:25 +11:00
Stephen Steneker 1aefb681f9 Make cmake 3.0 policy checks conditional 2015-03-11 22:51:34 +11:00
Roman Skvazh 025295a330 Remove unnecessary include 2015-03-11 11:54:11 +03:00
Roman Skvazh d0980f215a Fix #475 wrong type for field (count) 1 != 16 2015-03-11 11:45:32 +03:00
Stephen Steneker 77e065082d Relax cmake version requirement since Ubuntu 14.04 LTS is still 2.8.12 2015-03-11 14:07:35 +11:00
Stephen Steneker c9db235664 FindOpenSSL.cmake fails to find new version (1.0.2) of OpenSSL 2015-03-11 09:11:15 +11:00
Stephen Steneker 5ea5adeb55 Update new default win32 policies for cmake 3.0 2015-03-11 08:54:57 +11:00
Stephen Steneker 24feab23a0 Update ICU libs for Qt 5.3.x on Win32 2015-03-11 08:45:48 +11:00
Stephen Steneker 183f1cdeca Typo: s/Deployng/Deploying/ 2015-03-10 21:32:06 +11:00
Stephen Steneker 84d76ac775 Fix #743: build/link error on OS X release build 2015-03-10 10:15:58 +11:00
Stephen Steneker 6d2099852b Add release date for 0.8.5 :) 2015-03-10 10:14:56 +11:00
Stephen Steneker c0739cf1ab Ignore debug/release build dirs 2015-03-10 09:53:24 +11:00
Stephen Steneker 4738ad7f56 Fix #728 .. typo in CMakelists 2015-01-05 14:33:26 +11:00
Stephen Steneker 2d5f01af29 Correct case for LexLaTeX.cpp 2015-01-01 01:08:09 +11:00
Stephen Steneker aef5cb8a2c Fix #726 (Update Robomongo icon) with updated images thanks to @anknetau 2014-12-30 23:51:30 +11:00
Stephen Steneker fd6033e1d4 Fix #726 (Update Robomongo icon) with updated images thanks to @anknetau 2014-12-30 23:50:08 +11:00
Stephen Steneker e98e8e90c4 Disable broken "Copy Collection to Database" misfeature (#398) 2014-12-30 16:16:49 +11:00
Stephen Steneker 5e5a87f0f9 Disable "Copy collection to database"; per issue #398 current
implementation is highly problematic
2014-12-30 16:08:53 +11:00
Stephen Steneker 0902e0c557 Remove RC patch version 2014-12-30 15:51:22 +11:00
Stephen Steneker 64a8244552 Merged PR#724 for retina text display 2014-12-30 15:46:56 +11:00
Stephen Steneker 9394e181c9 Merge pull request #724 from m--stein/master
Fix for Retina Display on Mac #248
2014-12-30 15:03:06 +11:00
Michael Steinacher 5c3bd1dc5a #248 updated QScintilla to 2.4.8 for retina display support 2014-12-29 00:23:52 +01:00
Michael Steinacher a6b6c2b57b #248 Fix Info.plist for Retina support 2014-12-21 13:26:53 +01:00
Michael Steinacher 708bc48823 #248 Fix Info.plist for Retina support 2014-12-21 13:26:22 +01:00
Stephen Steneker 4a1a938094 Merge branch 'master' of github.com:paralect/robomongo 2014-11-15 15:47:43 +11:00
Stephen Steneker 3d060d7bdf W00t! New app icon designed by Andres Kievsky (@anknetau) 2014-11-15 15:46:26 +11:00
Stephen Steneker e308b24d2e Merge pull request #693 from anknetau/master
Added new app icon in a variety of png and iDraw formats
2014-11-15 15:45:39 +11:00
Stephen Steneker a47343ff0a Set VERSION policy for cmake 3.0+ (CMP0048) 2014-11-15 15:42:12 +11:00
Stephen Steneker ac76b6411d Bump 0.8.5rc0 2014-11-15 15:26:01 +11:00
Stephen Steneker 843086634d Note contribution for PR #684 2014-11-15 15:12:20 +11:00
Stephen Steneker 0b2eb2d930 Merge pull request #684 from volans-/master
CreateUserDialog.cpp: fixed typo in warning message
2014-11-15 15:09:43 +11:00
Andres Kievsky ac9d26900b Added app icon in a variety of png and iDraw formats 2014-11-15 08:21:57 +11:00
volans- a7240d523f CreateUserDialog.cpp: fixed typo in warning message 2014-10-30 19:38:10 -07:00
Stephen Steneker f6e5e20cdb Add missing issue to changelog 2014-10-21 06:44:38 +11:00
Stephen Steneker 5eeff07d8c Changelog for 0.8.5 2014-10-21 00:19:45 +11:00
Stephen Steneker db7d0f7578 Merge pull request #637 from stennie/issue-636
Issue #636: Log errors if can't create settings path or write to config file
2014-08-14 08:54:25 +10:00
Stephen Steneker f5fad8f51b Issue #636: Log errors if can't create settings path or write to config file 2014-08-14 06:33:30 +10:00
Stephen Steneker 1237693762 Merge pull request #633 from stennie/issue-468
Document OS X editing shortcuts for begin/end of line/text
2014-08-11 11:04:28 +10:00
Stephen Steneker 6be1ad5fdf Add undocumented OS X editing shortcuts for begin/end of line/text
(mentioned in #468)
2014-08-11 11:01:49 +10:00
Stephen Steneker 35f7fd9df3 Merge pull request #632 from stennie/issue-631
Fix #631: "Duplicate Query In New Tab"
2014-08-10 08:19:01 +10:00
Stephen Steneker 83e722a99b Fix #631: "Duplicate Query In New Tab"
- add keyboard shortcut: Ctrl/Cmd+Shift+T
 - add to Window menu
2014-08-10 08:16:41 +10:00
Stephen Steneker bd5f8dc5f7 Merge pull request #629 from stennie/issue-455
Fix #455: Show execution time for operations that don't return results
2014-08-08 00:23:26 +10:00
Stephen Steneker 6dcd6f1665 Fix #455: Show execution time for operations that don't return results 2014-08-08 00:22:35 +10:00
Stephen Steneker a7ee61b586 Merge pull request #628 from stennie/issue-622
Fix #622: Type of Double changed to Int32 on save document
2014-08-07 22:05:29 +10:00
Stephen Steneker fbddb83cc7 Fix #622: Type of Double changed to Int32 on save document 2014-08-07 22:03:35 +10:00
Stephen Steneker 7d3bd637a9 Merge pull request #604 from VBelozyorov/issue-47
Include connection name in TopStatusBar
2014-06-22 11:39:07 -04:00
Vladimir Belozyorov fee5e5d027 Unused TopStatusBar::setCurrentConnection removed 2014-06-19 23:02:21 +04:00
Vladimir Belozyorov 585fe6afd1 Connection name in TopStatusBar 2014-06-19 00:14:54 +04:00
Stephen Steneker 183e9cfb09 Merge pull request #578 from gavruk/autocompldisable
Ability to disable autocompletion (#512)
2014-06-18 12:05:11 -07:00
Sergey Gavruk 2a32c4b828 Ability to disable autocompletion (#512) 2014-06-18 20:57:10 +03:00
Stephen Steneker e89ed86dae Merge pull request #595 from VBelozyorov/issue-457
Changes in toolbars visibility are saved in config file
2014-06-17 17:18:06 +10:00
Stephen Steneker 01581751b1 Merge pull request #591 from VBelozyorov/issue-384
Expand/collapse multiple selections
2014-06-17 17:15:15 +10:00
Vladimir Belozyorov 3cd29c0fbc Text in tooltips are changed in accordance to key shortcuts 2014-06-17 17:00:46 +10:00
Vladimir Belozyorov 1c5382af9e Expand/Collapse Recursively work not only for entire documents 2014-06-16 21:33:54 +04:00
Vladimir Belozyorov 33616550e8 Selected index doesn't pops up to the super-parent if only one item selected in BsonTreeView 2014-06-16 21:30:52 +04:00
Vladimir Belozyorov 344d7d0bf2 Merge branch 'master' of https://github.com/paralect/robomongo into issue-384 2014-06-16 20:16:16 +04:00
Vladimir Belozyorov 977270bf3c Merge branch 'master' of https://github.com/paralect/robomongo into issue-457
Conflicts:
	src/robomongo/core/settings/SettingsManager.cpp
2014-06-16 19:57:48 +04:00
Kanstantsin Kamkou 0dcd717a1b limit and offest sizes are increased 2014-06-16 15:11:13 +10:00
Stephen Steneker e4a91b2383 Merge pull request #593 from VBelozyorov/issue-514
Option to disable selected code autoexecution when opening a new tab
2014-06-16 07:10:09 +10:00
Stephen Steneker 137b8598e2 Merge pull request #596 from VBelozyorov/logs-time-format
Include full date/time for log entries
2014-06-16 07:03:47 +10:00
Vladimir Belozyorov dee472f026 Toolbars names changed 2014-06-15 13:08:58 +04:00
Vladimir Belozyorov 0b2edf612c Submenu for toolbars visibility management.
Using enable/disable instead of visible/invisible for exec toolbar and orientation action
2014-06-15 12:59:49 +04:00
Vladimir Belozyorov e234418f51 Date and hours leading zero 2014-06-15 12:46:01 +04:00
Vladimir Belozyorov abc698d32e Changing the toolbar visibility by program logic mustn't cause to config changing 2014-06-15 00:20:36 +04:00
Stephen Steneker c2a4cfeefc Merge pull request #592 from VBelozyorov/cursor-init
Cursor initialization - place between curly brackets for default find({}) query
2014-06-15 00:48:44 +10:00
Stephen Steneker c7995fa2b7 Merge pull request #594 from VBelozyorov/issue-433
"Show/Hide" buttons for password and passphrase fields
2014-06-15 00:41:47 +10:00
Vladimir Belozyorov cd03cebb91 AM/PM removed from records in LogWidget 2014-06-13 23:39:26 +04:00
Vladimir Belozyorov 7ccfcce9d7 SshTunelTab replaced with SshTunnelTab 2014-06-13 22:44:04 +04:00
Vladimir Belozyorov d6bc5d5a88 Changes in toolbars visibility are saved in config file
#457
2014-06-13 22:20:00 +04:00
Vladimir Belozyorov a02218d634 SettingsManager stores toolbars settings
only isVisisble, for now
2014-06-13 22:17:13 +04:00
Stephen Steneker 86edc64a19 Clean up GenericName 2014-06-12 23:54:43 +10:00
Vladimir Belozyorov 8f00ab3dfe Fix #433: "Show/Hide" buttons for password and passphrase fields 2014-06-12 15:37:20 +04:00
Vladimir Belozyorov 75a1112986 Fixed saving option into config file 2014-06-12 02:13:47 +04:00
Vladimir Belozyorov bb3ea494a6 Item for options menu 2014-06-12 02:04:50 +04:00
Vladimir Belozyorov 8117919fe5 Check setting state on new tab opening 2014-06-12 02:03:39 +04:00
Vladimir Belozyorov 9a6b3236af Setting for auto execution 2014-06-12 02:02:42 +04:00
Stephen Steneker e924b1a8ec Merge pull request #588 from gavruk/settingsmanagertypo
[-] SettingsManager typo
2014-06-12 07:18:41 +10:00
Vladimir Belozyorov 4fbfa1e3e0 "View documents" item of collection's context menu does the same query as double click on collection item 2014-06-12 01:10:17 +04:00
Vladimir Belozyorov eea3b74778 Cursor placed between curly braces after double click on collection item 2014-06-12 01:08:45 +04:00
Vladimir Belozyorov 47582bf729 "Collapse Recursively" feature for Tree Mode 2014-06-11 23:45:07 +04:00
Vladimir Belozyorov 882b2ed721 Robomongo::detail::uniqueRows() returns indexes of top-level items 2014-06-11 23:42:28 +04:00
Sergey Gavruk 4ab5ae3ad9 [-] SettingsManager typo 2014-06-11 21:40:14 +03:00
Vladimir Belozyorov ffe4491094 Expanding of multiple selected documents
#384
2014-06-10 21:55:30 +04:00
Vladimir Belozyorov fa4fa67b87 Typo Multy -> Multi 2014-06-10 21:35:02 +04:00
Stephen Steneker 366c3bab10 Merge pull request #584 from stennie/issue-559
Fix #559: Default ObjectID - Timestamp Tooltip
2014-06-10 09:33:21 +10:00
Stephen Steneker b3f21cbe32 Fix #559: Default ObjectID - Timestamp Tooltip
- add "Copy Timestamp from ObjectId" to context menu for ObjectId field
2014-06-10 09:29:31 +10:00
Stephen Steneker 50179cc27a Merge pull request #581 from stennie/issue-447
Issue #447: Reload actually re-executes query
2014-06-08 18:31:46 +10:00
Stephen Steneker 03c6abca60 Issue #447: Reload actually re-executes query
- rename "Reload" to "Re-execute Query"
 - rename "Duplicate" to "Duplicate Query In New Shell"
2014-06-08 18:29:14 +10:00
Stephen Steneker 2a663f658a Merge pull request #580 from stennie/issue-551
Fix #551: Reload Query with keyboard shortcut doesn't work
2014-06-08 18:02:30 +10:00
Stephen Steneker 46d4fb576d Fix #551: Reload Query with keyboard shortcut doesn't work 2014-06-08 18:01:15 +10:00
Stephen Steneker 9bc52f594e Merge branch 'master' of github.com:paralect/robomongo 2014-06-08 17:40:26 +10:00
Stephen Steneker 87bf0e121d Use setShortcuts() instead of setShortCut() with QKeySequence
combinations to catch alternate sequences in addition to primary.
2014-06-08 17:38:50 +10:00
Stephen Steneker 5560f5d721 Merge pull request #579 from stennie/issue-421
Fix #421: Consistent numbering for tree/table/text view items
2014-06-08 17:23:39 +10:00
Stephen Steneker aee1fea979 Fix #421: Consistent numbering for tree/table/text view items 2014-06-08 17:21:40 +10:00
Stephen Steneker c71dc28c76 Detab and fix indentation 2014-06-08 16:47:21 +10:00
Stephen Steneker dfffef1d9c Fix spello in comment 2014-06-08 16:46:43 +10:00
Stephen Steneker 6546511d2e Spello fixup: s/indexses/indexes/g 2014-06-08 16:37:30 +10:00
Stephen Steneker 34cf176e24 Merge pull request #577 from stennie/issue-548
Fix #548: Cannot make the Edit Document Window smaller
2014-06-08 01:31:48 +10:00
Stephen Steneker 0a5c086b26 Fix #548: Cannot make the Edit Document Window smaller
- minimumSize() of editor window was incorrectly set based on screen
   geometry
2014-06-08 01:28:29 +10:00
Stephen Steneker 44c1cb8e8f Merge pull request #576 from stennie/issue-87
Fix #87: Switching tabs using standard keys on OS X
2014-06-08 00:55:38 +10:00
Stephen Steneker 44f79cb03f Fix #87: Switching tabs using standard keys on OS X
- use QKeysequence::NextChild and QKeysequence::PreviousChild for
   standard cross-platform next/prev tab keyboard shortcuts
 - add Window menu including full screen, minimize, and prev/next tab
2014-06-08 00:51:11 +10:00
Stephen Steneker 62ea86c485 Merge pull request #570 from stennie/issue-405
Fix #405: expand current server as soon as you connect to it
2014-06-04 00:38:01 +10:00
Stephen Steneker 07eddfe53d Fix #405: expand current server as soon as you connect to it 2014-06-04 00:37:03 +10:00
Stephen Steneker 1f32363f66 Merge pull request #569 from stennie/issue-468
Issue 468: add Ctrl/Cmd+'/'' as comment/uncomment keyboard shortcut
2014-06-03 23:54:51 +10:00
Stephen Steneker 33fae9f482 Add note on new shortcuts to toggle comment/uncomment 2014-06-03 23:53:25 +10:00
Stephen Steneker 12a0281283 Per #468: add Ctrl/Cmd+'/'' as comment/uncomment keyboard shortcut 2014-06-03 23:41:39 +10:00
Stephen Steneker d4f2304c82 Merge pull request #568 from stennie/issue-544
Fix #544: Space after document causes validation error
2014-06-03 23:24:24 +10:00
Stephen Steneker db80ef4bfb Fix #544: Space after document causes validation error
- error messages for JSON validation could still be greatly improved
2014-06-03 23:21:43 +10:00
Stephen Steneker 0d85ac6a18 Remove obsolete instructions 2014-06-03 22:42:47 +10:00
Stephen Steneker 8e46fcfbb2 Grammar correction: s/is no results/are no results/ 2014-06-03 21:51:35 +10:00
Stephen Steneker c813fef558 Merge pull request #567 from stennie/issue-564
Fix #564: Add user preference to have line numbers displayed in editor by default
2014-06-03 20:20:09 +10:00
Stephen Steneker a9d21ddc39 Fix #564
- User preference to have line numbers displayed in editor by default
2014-06-03 20:17:57 +10:00
Stephen Steneker d489d9a83c Merge pull request #556 from VBelozyorov/issue-509
Saving previous view modes in private field of OutputWidget
2014-06-03 19:07:52 +10:00
Stephen Steneker ee89cd47f7 Merge pull request #555 from VBelozyorov/issue-467
Comment / uncomment selected code in the shell
2014-06-03 19:00:59 +10:00
Vladimir Belozyorov 6822013d5d Unnecessary typecast removed
#467
2014-06-03 08:15:44 +04:00
Stephen Steneker fa26dfe9c7 Merge pull request #565 from stennie/issue-449
Fixes #449: Add line numbers to JSON editing window (OS X)
2014-06-03 00:29:39 +10:00
Stephen Steneker 1ac22072a5 Fixes #449
- Line numbers in JSON views can be toggled with Ctrl+F11 on OS X
2014-06-03 00:21:03 +10:00
Stephen Steneker eaf484b9c7 Merge pull request #563 from stennie/issue-519
Fixes #519: Full screen mode not working on OS X
2014-06-02 23:58:08 +10:00
Stephen Steneker 1b7ad2c4f5 Fixes #519: Full screen mode not working on OS X
- changed fullscreen shortcut to Cmd/Ctrl+F11
2014-06-02 23:56:50 +10:00
Stephen Steneker d936a2b75c Merge pull request #560 from stennie/issue-408
Fixes #408
2014-06-02 23:21:11 +10:00
Stephen Steneker 62160ac662 Fixes #408
- use standard "New" shortcuts to open new connections
 - use standard "Open" shortcuts to open .js files
 - update shortcuts.txt with current shortcuts
2014-06-02 22:59:25 +10:00
Vladimir Belozyorov d51481faaa Saving previous view modes in private field of OutputWidget
#509
2014-06-01 18:13:04 +04:00
Vladimir Belozyorov 0d9a72b058 Ctrl+Shift+C shortcut toggle comments in the shell
#467
2014-06-01 16:20:51 +04:00
Vladimir Belozyorov 2de96e705f Public methods for managing value of ScriptWidget::_disableTextAndCursorNotifications 2014-06-01 16:13:05 +04:00
Vladimir Belozyorov 5ce6ead32e Ignore Ctrl+Shift+C in RoboScintilla::keyPressEvent() 2014-06-01 16:01:44 +04:00
Vladimir Belozyorov 1444197e50 Hotkey for comment toggling in KeyboardManager 2014-06-01 15:49:12 +04:00
Dmitry Schetnikovich 169a4ea24d Merge pull request #527 from stennie/issue-414
Fix #414: View documents fail if collection name is "group"
2014-05-14 19:24:34 +03:00
Dmitry Schetnikovich c9b0af1cfe Merge pull request #530 from stennie/issue-500
Fix #500: TTL index should allow expiry of 0 seconds
2014-05-12 20:57:04 +03:00
Dmitry Schetnikovich 3a542eb8d0 Merge pull request #529 from stennie/issue-505
Fix #505: OS specific keyboard shortcut tips
2014-05-12 20:56:50 +03:00
Dmitry Schetnikovich 4f83b8954b Merge pull request #528 from stennie/issue-506
Fix #506: Usability request - add initial curly braces to command bar
2014-05-12 20:56:20 +03:00
Dmitry Schetnikovich b2bbcc2836 Merge pull request #525 from stennie/issue-524
Fix #524: OS X build fixes for XCode 5 / libc++
2014-05-12 20:44:21 +03:00
Stephen Steneker 9fd7c93ef2 Fix #500: TTL index should allow expiry of 0 seconds
Docs example:
http://docs.mongodb.org/manual/tutorial/expire-data/#expire-documents-at-a-certain-clock-time
2014-05-05 23:31:40 +10:00
Stephen Steneker 2d09dc3763 Fix #505: OS specific keyboard shortcut tips 2014-05-05 20:06:11 +10:00
Stephen Steneker 819d6b2dba Fix #506: Usability request - add initial curly braces to command bar 2014-05-05 18:32:55 +10:00
Stephen Steneker bb988da66a Fix #414
Given that conflicting function names may vary between versions of MongoDB,
it is much saner to use the more explicit getCollection() syntax instead of
trying to enumerate all exceptions.
2014-05-05 12:19:53 +10:00
Stephen Steneker 2769173b5a Need to include locale.h for libc++ 2014-05-05 12:00:06 +10:00
Stephen Steneker 9373f1b57f Upgrade from gtest 1.6.0 to 1.7.0 2014-05-05 11:49:41 +10:00
Stephen Steneker 6f40ca27e3 Cherry-pick some libc++ fixes from: https://jira.mongodb.org/browse/SERVER-11070 2014-05-05 11:47:02 +10:00
Stephen Steneker 934aa32325 Fix typo: s/Openning/Opening/ 2014-05-04 23:23:53 +10:00
Stephen Steneker fd9d13e486 Include common rules from gitignore.io 2014-05-04 23:22:05 +10:00
schetnikovich 55428b80dc Resource entries configuration refactored 2013-12-20 00:14:50 +03:00
schetnikovich 029078e44f Tab character removed from source files 2013-12-19 20:30:03 +03:00
schetnikovich 7b6bb1f34a CMakeLists.txt cleanup 2013-12-19 20:19:42 +03:00
schetnikovich 9d4957a968 CMake cleanups, baby steps 2013-12-19 00:25:54 +03:00
schetnikovich ee6e6b84bd ComboBox setCurrentText emulation for Qt4 2013-12-18 22:18:33 +03:00
schetnikovich 84ec758cfe Merge branch 'master' of github.com:paralect/robomongo 2013-12-18 22:13:25 +03:00
schetnikovich e3219f3892 Qt4 support is back 2013-12-18 22:13:13 +03:00
Dmitry Schetnikovich 0ef9b18252 Spaces removed from EXTRAPATH 2013-12-14 22:05:45 +03:00
Dmitry Schetnikovich 6b462147e5 Fix for MongoDB build command with extrapath 2013-12-14 20:52:33 +03:00
schetnikovich 132629bc5a Merge branch 'v0.8.4' of github.com:topilski/robomongo into topilski-0.8.4 2013-12-13 20:56:35 +03:00
schetnikovich 9d2cc7a7b4 Changelog updated 2013-11-27 23:35:09 +03:00
schetnikovich 0d4813b711 Backup of CMake files 2013-11-21 22:26:56 +03:00
schetnikovich 1c42c60532 Minor changes in utils.cmake 2013-11-21 22:26:06 +03:00
schetnikovich c3a2fa8558 .gitignore updated 2013-11-20 22:13:20 +03:00
topilski 6c09bb657f Update App version 2013-11-15 15:07:08 +03:00
Dmitry Schetnikovich 61504814dd Merge branch 'master' of https://github.com/paralect/robomongo 2013-11-14 00:02:35 +03:00
Dmitry Schetnikovich a2051d0307 MSVC build fixes 2013-11-14 00:02:20 +03:00
schetnikovich 578e55a780 Support for all reserved words when building collection query and fix for collection names with slashes (#404) 2013-11-13 23:53:55 +03:00
schetnikovich 1a3fd7f731 Output is splited on executable and library. 2013-11-13 22:06:02 +03:00
Dmitry Schetnikovich eee0eb3665 Merge pull request #409 from topilski/084rc2
0.8.4 RC2
2013-11-11 12:01:32 -08:00
schetnikovich 60d80c4717 README.md updates 2013-11-11 01:51:26 +03:00
schetnikovich 1906ed61c0 README.md updates 2013-11-11 01:50:14 +03:00
schetnikovich 545194cb33 Vote for the feature 2013-11-11 01:49:22 +03:00
schetnikovich 619559eee8 Note about backlog 2013-11-11 01:46:28 +03:00
topilski 2b058231dd Fix unix builds 2013-11-08 15:04:42 +03:00
topilski 0200ff055e Some code update 2013-11-08 14:48:15 +03:00
topilski e36c399be7 Date min and max is not parsed or displayed correctly #356 (displaying) 2013-11-08 14:24:55 +03:00
topilski 2f5d8f3071 Date min and max is not parsed or displayed correctl(only crash) #356 2013-11-08 10:24:08 +03:00
Dmitry Schetnikovich 1ce2869a30 Merge pull request #403 from VBelozyorov/issue-402
Saving initial viewMode on forced downgrade, because #402
2013-11-05 13:46:35 -08:00
Vladimir Belozyorov f988474be6 Saving initial viewMode on forced downgrade, because #402 2013-11-05 21:09:20 +04:00
schetnikovich 365b5ce735 Change log updated for 0.8.4 2013-11-04 19:41:21 +03:00
schetnikovich 5d1348ff9b Whats new file updated for Robomongo 0.8.4 2013-11-04 01:37:54 +03:00
Alexandr 1cd59ebca3 Merge pull request #393 from topilski/084-beta2-bugfix
Some little bugfix
2013-10-31 23:16:41 -07:00
schetnikovich 08a5bfbfe1 Naming tweaks 2013-11-01 05:10:59 +03:00
topilski d0156f76dc Add fast build scripts for Windows 2013-10-31 15:57:44 +03:00
topilski 30a3634208 Add new build scripts 2013-10-31 15:20:56 +03:00
topilski 4380f75137 Delete not needed files 2013-10-31 13:57:13 +03:00
topilski 0d7e34f9d9 #386 Multiple confirmation at pressing "delete" key at deleting multiple documents. 2013-10-31 10:30:51 +03:00
schetnikovich 3b192c02e0 Robomongo 0.8.4 beta 2 2013-10-31 00:53:55 +03:00
schetnikovich f4b2cda8b6 SSH configuration UI tweaks 2013-10-31 00:42:35 +03:00
schetnikovich 1bd95d170e SSL configuration UI tweaks 2013-10-30 22:13:05 +03:00
Dmitry Schetnikovich 8f0947df70 Merge pull request #383 from topilski/bugfix
Bugfix
2013-10-28 15:13:49 -07:00
topilski 6dfe7ddab6 Connection context menu appears independently of position of Robomongo instance. 2013-10-28 16:46:53 +03:00
topilski 654fd3e6fb Design of diagnostic dialog while testing connection differs from 0.8.3 (new fix) 2013-10-28 16:20:28 +03:00
topilski aa039e5d18 Fix zlib search algorithm 2013-10-28 09:15:33 -04:00
topilski 95cabe1226 Add static link openssl to build script 2013-10-28 15:46:46 +03:00
topilski f9c9c7b27b Delete cmake warnings 2013-10-28 15:42:23 +03:00
topilski df99ba2e33 Fixup build cpack script 2013-10-28 15:36:43 +03:00
topilski 0ee046f2e6 Add zlib library to openssl static linking 2013-10-28 15:35:39 +03:00
topilski a77583dc2b Fix cpack build script 2013-10-28 11:57:27 +03:00
topilski 63e9e8a355 Design of "Create Database" dialog is changed from 0.8.3 2013-10-28 11:34:59 +03:00
topilski 23d550b1b0 Design of diagnostic dialog while testing connection differs from 0.8.3 2013-10-28 11:20:53 +03:00
topilski 376453e988 Fix rpm package 2013-10-28 03:39:29 -04:00
topilski 0860f3e0c8 Crash at expanding something that you has no permissions to expand. 2013-10-25 13:17:22 +03:00
topilski bd7ff6a67c Create or edit index problem #341 2013-10-25 13:07:59 +03:00
topilski a8000fe1d0 Manage connection: SSH support checkbox unchecks automatically at checking/unchecking authentication. 2013-10-25 12:58:15 +03:00
topilski 1070c33fe6 Merge remote-tracking branch 'upstream/master' 2013-10-24 12:31:02 +03:00
Dmitry Schetnikovich 90a8a2dea5 Merge pull request #375 from topilski/bugfix
Bugfix and Code polishing
2013-10-22 11:02:05 -07:00
topilski f7975f9f06 Add CollectionInfo struct, some refactoring 2013-10-22 16:03:21 +03:00
topilski 8cb033e2b2 Fix modeles dialogs problem 2013-10-22 14:38:06 +03:00
topilski 274d6dc07a [UI] Cannot downsize edit/view document windows. (rbm0.8.3, win7x32) #369 2013-10-22 11:49:24 +03:00
topilski 710d0775d7 Crash at pressing "Ctrl+T" without any connection. 2013-10-21 10:52:07 +03:00
topilski f15e22ae58 SSH option "Security" always switched to "password" after unchecking SSH and saving connection. 2013-10-21 10:45:29 +03:00
topilski 5fbc38d4bd Fix linux package build 2013-10-18 15:29:02 +03:00
topilski 4b009ce440 Update cmakefile 2013-10-18 14:09:33 +03:00
topilski 18726e76eb Add creating symlinks for libssl libraries 2013-10-18 12:59:07 +03:00
topilski 9929332dd2 Crash when add ISODate field #350 2013-10-18 09:35:54 +03:00
topilski 41a29ab74d Merge branch 'master' of https://github.com/topilski/robomongo 2013-10-18 09:05:45 +03:00
Dmitry Schetnikovich e871ea1539 Merge pull request #367 from topilski/117-ssh
#117 and #100: SSH+SSL
2013-10-17 09:11:39 -07:00
topilski 4a8e32c490 Add libssl to install phase 2013-10-17 14:26:51 +03:00
topilski 0f50a30cbe Update error message in case of SSL+SSH are enabled together. 2013-10-17 09:02:25 +03:00
topilski 0352799a55 Once checked SSH, cannot be unchecked. 2013-10-17 09:00:15 +03:00
topilski d21102c8cb Update beta version 2013-10-16 16:32:53 +03:00
topilski f0515056fc Fix displaying server name, and direct connection to ssl server 2013-10-16 15:12:51 +03:00
topilski f75acc76f4 Stable build 2013-10-16 15:03:20 +03:00
topilski e934292152 Typos in Manage Connection dialog. 2013-10-16 12:06:36 +03:00
topilski f76db62c5a Stable ssl pemFile 2013-10-16 12:06:35 +03:00
topilski 592f3653c0 Regexp error (with non-latin symbols) #351 2013-10-16 12:06:35 +03:00
topilski b3781ea229 Fix displaying server name 2013-10-16 12:06:34 +03:00
topilski 6f3c902c73 Added log messages if ssh connect failed 2013-10-16 12:06:34 +03:00
topilski 9eaf490781 Merge libssh2_win and libssh_linux configs 2013-10-16 12:06:33 +03:00
topilski 0fe17b8fa1 SSH support #117 (work on Mac) added needed mac header 2013-10-16 12:06:33 +03:00
topilski 7755912732 SSH support #117 (work on fedora) added needed linux header 2013-10-16 12:06:32 +03:00
topilski 62068bd910 ssh support #117 first stable windows version (without ssh+ssl) 2013-10-16 12:06:32 +03:00
topilski 025997b62d Stable ssh connection (intermediate commit) 2013-10-16 12:06:32 +03:00
topilski 6d3f9ca769 ssh support #117 (only windows, some problem with shell, intermediate commit) 2013-10-16 12:06:31 +03:00
topilski 358628a447 Added SSH tunnel dialog 2013-10-16 12:06:30 +03:00
topilski 633a2dce6a Added RDBClientConnection (Robomongo client connection) 2013-10-16 12:06:30 +03:00
topilski 0a3a4e6778 ScriptEngine global mutex 2013-10-16 12:06:29 +03:00
topilski 14d805c960 Fix build 2013-10-16 12:06:28 +03:00
topilski 4c04c9a3e7 Delete include directory 2013-10-16 12:06:28 +03:00
topilski c80de5ac63 Remove pcre not needed includes 2013-10-16 12:06:25 +03:00
topilski fd655e5afa Stable global variables 2013-10-16 12:06:23 +03:00
topilski 06ec74ded7 Support for mongod's with SSL #100 (work also with sslPEMKeyFile) 2013-10-16 12:06:21 +03:00
topilski f3ba08608c Support for mongod's with SSL #100 (Work as mongo --ssl only) 2013-10-16 12:06:20 +03:00
topilski fa962e9727 Added ssh first step. 2013-10-16 12:06:20 +03:00
topilski fcc03d62f2 Move parse algoritm to mongo jsonparser 2013-10-16 10:54:20 +03:00
Dmitry Schetnikovich 4c5a409f27 Merge pull request #359 from VBelozyorov/issue-345
Auto expand of first item in tree view. #345
2013-10-15 12:50:28 -07:00
Dmitry Schetnikovich 59bae954a4 Merge pull request #365 from VBelozyorov/urls-in-about-dlg
GitHub url doesn't work in About Dialog (Mac)
2013-10-15 11:38:32 -07:00
Dmitry Schetnikovich 7db2b70af5 Merge pull request #364 from rskvazh/patch-1
Url doesn't work in About Dialog (Mac)
2013-10-15 11:37:37 -07:00
Vladimir Belozyorov 2f696080ef Specified protocol in url for issues on github 2013-10-15 21:23:13 +04:00
Vladimir Belozyorov ba3b2471cc Menu option for auto expanding of first item 2013-10-15 19:56:15 +04:00
Roman Skvazh 1e58918abd fix url in about dialog
In Mac OS X link "Visit Robomongo website:" does not work.
2013-10-15 06:19:40 -07:00
topilski 45b6326aa3 Fix ssh checkbox 2013-10-15 16:05:21 +03:00
topilski ec819f5eca Typos in Public and Private key dialogs 2013-10-15 15:27:04 +03:00
topilski 5b926da192 Stable ssh and ssl suport, final build 2013-10-15 15:00:12 +03:00
topilski 7ad06822fd Ssh add publicKey connection 2013-10-15 11:19:58 +03:00
Vladimir Belozyorov 943e06425f Auto expand of first item in tree view. #345 2013-10-12 23:04:59 +04:00
topilski 23e9e44136 Typos in Manage Connection dialog. 2013-10-11 16:56:42 +03:00
topilski f21e0db417 Stable ssl pemFile 2013-10-11 11:43:12 +03:00
topilski 731e5d2aea Regexp error (with non-latin symbols) #351 2013-10-11 10:53:17 +03:00
topilski 57c0007249 Fix displaying server name 2013-10-11 09:24:31 +03:00
topilski 48d98f5657 Added log messages if ssh connect failed 2013-10-10 14:43:54 +03:00
topilski 5e25e62b8f Merge libssh2_win and libssh_linux configs 2013-10-10 14:01:15 +03:00
topilski dff8f9dfd7 SSH support #117 (work on Mac) added needed mac header 2013-10-10 10:39:21 +01:00
topilski 5931cd8cca SSH support #117 (work on fedora) added needed linux header 2013-10-10 13:09:47 +04:00
topilski 55ae8f05f5 ssh support #117 first stable windows version (without ssh+ssl) 2013-10-10 10:49:24 +03:00
Dmitry Schetnikovich acef635b77 License mentioned in README.md 2013-10-10 01:25:59 +03:00
Dmitry Schetnikovich 1017822d0e License is mentioned in README.md 2013-10-10 01:24:42 +03:00
topilski 76ed180ce5 Stable ssh connection (intermediate commit) 2013-10-09 17:00:07 +03:00
topilski 51073a55d1 ssh support #117 (only windows, some problem with shell, intermediate commit) 2013-10-08 14:44:50 +03:00
topilski 1f1c6b7971 Added SSH tunnel dialog 2013-10-07 15:58:11 +03:00
topilski fc8e4b9df4 Added RDBClientConnection (Robomongo client connection) 2013-10-07 09:41:00 +03:00
topilski 7981cee5ae ScriptEngine global mutex 2013-10-04 16:15:48 +03:00
topilski 84f41ba312 Fix build 2013-10-04 12:03:43 +03:00
topilski 8c227ca509 Delete include directory 2013-10-04 11:24:21 +03:00
topilski cb5f2d9d51 Remove pcre not needed includes 2013-10-03 16:35:03 +03:00
topilski 231067ba14 Stable global variables 2013-10-03 16:02:20 +03:00
topilski 6b24d5c6b5 Support for mongod's with SSL #100 (work also with sslPEMKeyFile) 2013-10-03 14:41:39 +03:00
topilski 7ec623b224 Support for mongod's with SSL #100 (Work as mongo --ssl only) 2013-10-03 11:03:30 +03:00
topilski 4a0c30526b Merge remote-tracking branch 'upstream/master' 2013-10-02 09:47:05 +03:00
topilski a91c598c07 Merge branch 'master' of https://github.com/topilski/robomongo 2013-10-02 08:00:19 +03:00
topilski 69ec7474b7 Added ssh first step. 2013-10-02 07:59:24 +03:00
Dmitry Schetnikovich 608c036abd Merge pull request #343 from topilski/master
Stable 0.8.3 release
2013-10-01 07:55:00 -07:00
topilski 840f95f800 Fix context menu "view documents" 2013-10-01 14:17:42 +03:00
topilski 4af6e6614b Expand Recursively broken in 0.8.3 beta 2 #342 2013-10-01 14:03:30 +03:00
schetnikovich 9a6dd0d0cf Robomongo log file now located in temp directory 2013-10-01 13:16:36 +03:00
topilski ecd29ca7f0 Update version number 2013-10-01 10:46:16 +03:00
Dmitry Schetnikovich 896dc10d60 What's new in 0.8.3 updated 2013-09-30 21:49:52 +03:00
schetnikovich eec540133d Description for Copy to Database operation 2013-09-30 19:57:36 +03:00
schetnikovich de0e64e97e Padding in Copy Collection dialog 2013-09-30 18:41:04 +03:00
Dmitry Schetnikovich 51747ac72a Merge pull request #330 from topilski/master
Several issues fixed, code prepared to release
2013-09-30 08:16:53 -07:00
topilski 919e97b582 Stable build 2013-09-30 16:51:12 +03:00
topilski 51930d3ca2 Clone collection to different server bugs. 2013-09-30 14:28:26 +03:00
topilski f47454d88b Cannot connect to server 2.4 with authorization 2013-09-30 12:49:50 +03:00
topilski 1060034af1 Add 'Clone collection to different server' function #58 (remove not connected servers) 2013-09-27 17:54:04 +03:00
topilski 4590e22b24 Add 'Clone collection to different server' function #58(Update) 2013-09-27 17:38:27 +03:00
topilski 3fafaf78b8 Empty command is shown in log after opening new shell. 2013-09-27 16:35:50 +03:00
topilski e296dfdea8 Empty command is shown in log at selecting "Rebuild" 2013-09-27 15:36:00 +03:00
topilski c017f5a644 Update "Native" style 2013-09-27 15:24:10 +03:00
topilski 11e262142c DataBase doesn't created if its name is long enough. 2013-09-27 14:33:13 +03:00
topilski e63a563096 Copy JSON behave differently in Tree View than in Table View #325 2013-09-27 12:49:54 +03:00
topilski ff10a19317 In Table Mode multiple selection works only for first 3 colums #327 2013-09-27 12:30:30 +03:00
topilski fc9fb66e85 Log messages are always in one line #326 2013-09-27 09:35:59 +03:00
topilski 4b21461727 Tree View multiple selection inside one document #328 2013-09-27 09:25:18 +03:00
topilski 721f9c224a Cannot connect to remote server when you are not admin #324 2013-09-27 08:54:28 +03:00
topilski bd3be11170 Collection query building with invalid symbols broken #323 2013-09-27 08:47:05 +03:00
Dmitry Schetnikovich f21b3324cb Merge pull request #322 from topilski/master
Bugs fixes, stable build
2013-09-26 07:34:36 -07:00
topilski 4185b50f10 Revert js 2013-09-26 17:09:12 +03:00
topilski 60cf1d0c34 TTL Index troubles #313 2013-09-26 17:06:55 +03:00
topilski 4d70a31748 ProgressBarPopup placed on center. 2013-09-26 15:43:48 +03:00
topilski dd263864eb When inserting/deleting documents, all documents from collection loaded #318 2013-09-26 15:16:36 +03:00
topilski 28b34d2d57 After edit of document, list of documents doesn't updated #319 2013-09-26 14:23:09 +03:00
topilski 74f356347a TTL Index troubles #313 2013-09-26 11:39:02 +03:00
topilski bafeece05c Add "Copy JSON" menu item to context menu #298 2013-09-26 10:26:13 +03:00
topilski 7cf2ee2b3d Strange padding of collumns in Tree View and inability to select row #310 2013-09-26 09:51:39 +03:00
topilski cb34107b77 Log message tweaks #317 2013-09-26 09:17:34 +03:00
topilski 51b9d9ed04 Toggle result orientation doesn't work anymore #320 2013-09-26 08:38:26 +03:00
topilski b470d0a38e Merge remote-tracking branch 'upstream/master'
Conflicts:
	src/robomongo/gui/widgets/LogWidget.cpp
and Right click on empty area in Tree View and Table View doesn't show "Insert Document" #321
2013-09-26 08:35:27 +03:00
schetnikovich 530abab888 Row numbers in Tree View starts from 1 (as in Table View) 2013-09-26 02:24:02 +03:00
schetnikovich e870fef87a Logs button in the status bar 2013-09-26 01:49:39 +03:00
topilski d153271bc4 Added "Clear All" action in LogWidget context menu 2013-09-25 20:51:25 +03:00
Dmitry Schetnikovich 80f1580ce9 Merge pull request #312 from topilski/master
Loading bar doesn't centered #309
2013-09-25 10:15:19 -07:00
topilski 4e8d58655c KeapAlive On 2013-09-25 19:56:16 +03:00
topilski 25979a94bc Stable code 2013-09-25 19:44:16 +03:00
topilski 4d3814d34d Fix linux build 2013-09-25 16:44:25 +03:00
topilski 572f3871c3 Update MongoWorker 2013-09-25 16:35:34 +03:00
topilski c84f753462 Delete not needed events, some refactoring 2013-09-25 15:52:40 +03:00
topilski 7bffc999fd Size of Tooltip for User can be increased. Now, user ID is cutted of in tooltip. 2013-09-25 12:58:15 +03:00
topilski 81834e330b Allow multiple deleting of documents by selecting two cells in Table View #311 2013-09-25 11:58:01 +03:00
topilski 6277329c5d Loading bar doesn't centered #309 2013-09-25 11:36:20 +03:00
topilski e06100accb Delete WorkAreaTabWidget 2013-09-25 09:55:22 +03:00
schetnikovich 1165bf2101 Menu items text changes, larger Document Editor with added maximize button. 2013-09-25 02:52:25 +03:00
schetnikovich a3e95519de 0.8.3 beta 2 2013-09-25 01:40:09 +03:00
schetnikovich cf8ee5b116 Padding between indicators corrected 2013-09-25 01:39:09 +03:00
schetnikovich b00351f633 WorkAreaWidget added in order to set correct padding of inner tab widget 2013-09-25 01:11:01 +03:00
schetnikovich 4d815852ee _id field existence check and minor UI tweaks 2013-09-25 00:52:37 +03:00
schetnikovich c7ea906836 QToolBar separators removed, because they were drawn automatically on Windows 2013-09-24 23:37:23 +03:00
schetnikovich 87a9506816 QToolBar style removed 2013-09-24 23:33:52 +03:00
Dmitry Schetnikovich dc2939d092 Merge pull request #308 from topilski/master
BSON Undefined type doesn't rendered to string correctly #306
2013-09-24 11:54:34 -07:00
topilski 6429b7bec1 Minor refactoring 2013-09-24 19:55:44 +03:00
topilski 66cf8220da Update ConnectionDialog 2013-09-24 16:52:18 +03:00
topilski 71af9f24c4 Add the document _id in the tree view #142 2013-09-24 15:25:30 +03:00
topilski e4ef7fff58 Refactoring ConnectionsDialog 2013-09-24 14:50:34 +03:00
topilski d705dc371f "X" symbol in "Diagnostic" window should be shown in RED for "Authorization failed" reason 2013-09-24 13:05:04 +03:00
topilski 77e4abf2b0 Fixed linux build 2013-09-24 12:30:02 +03:00
topilski c5d94c9aa4 Preferences dialog #80 (start implementation) 2013-09-24 12:04:04 +03:00
topilski a6bf499270 BSON Undefined type doesn't rendered to string correctly #306 2013-09-24 08:53:30 +03:00
schetnikovich 30998934fa UI tweaks and code formatting 2013-09-24 02:06:44 +03:00
Dmitry Schetnikovich 32d254a2fb Merge pull request #305 from topilski/master
Update Logger, fixed some little bugs
2013-09-23 09:24:34 -07:00
topilski 4feda47af1 Code cleanup 2013-09-23 16:49:42 +03:00
topilski 0156b7c436 Fixed text mistakes 2013-09-23 16:02:37 +03:00
topilski bf677f21b3 Update Logger, add color messages to LogWidget 2013-09-23 15:23:09 +03:00
topilski 9140648502 New collection doesn't appear after executing "Duplicate Connection" from context menu. #277 2013-09-23 13:49:27 +03:00
topilski 055d1cabf9 Small refactoring 2013-09-23 12:29:37 +03:00
topilski f3fbc2f530 Code cleanup ScriptWidget 2013-09-23 11:30:04 +03:00
topilski 4bf0810482 When Authorization fails to server - show corresponding message. 2013-09-23 10:38:13 +03:00
Dmitry Schetnikovich f24898ee4d Merge pull request #302 from topilski/master
Line breaks extends height of row in Tree View #300
2013-09-21 08:44:17 -07:00
topilski 35494d6c6e Empty server shown in "Copy collection" dialog after disconnection from one server. 2013-09-20 16:53:47 +03:00
topilski c6b6311e56 Add "Copy JSON" menu item to context menu #298 (inner copy) 2013-09-20 16:04:38 +03:00
topilski e70211a49e Line breaks extends height of row in Tree View #300 (little fix) 2013-09-20 15:25:05 +03:00
topilski ff9ea74a5f Fix tooltips for tablemodel 2013-09-20 15:16:20 +03:00
topilski 58bda8d93b Update shortcuts, refactoring QueryWidget 2013-09-20 13:52:15 +03:00
topilski d8b63bcc35 Delete WorkAreaWidget 2013-09-20 11:37:27 +03:00
topilski 0501a57cd4 Refactoring WorkAreaWidgets 2013-09-20 11:13:17 +03:00
topilski 4bbd7a0964 Show tooltips for items in Table View and Tree View #301 2013-09-20 09:05:19 +03:00
topilski 3858980412 Line breaks extends height of row in Tree View #300 2013-09-20 08:44:48 +03:00
schetnikovich 39a34c2a38 Code formating tweaks 2013-09-20 02:55:20 +03:00
Dmitry Schetnikovich 7b28c64d0c Merge pull request #299 from topilski/master
JSON list validation #246
2013-09-19 09:27:39 -07:00
topilski fdea92acc0 Minor code cleanup 2013-09-19 16:33:09 +03:00
topilski a62acd7550 Fix up setlocate 2013-09-19 05:00:43 -07:00
topilski d8f2917e71 JSON list validation #246 (new more stable fix) 2013-09-19 04:25:17 -07:00
topilski 3cb1b0d126 Update stylesheets 2013-09-19 03:16:13 -07:00
topilski 8ed94a087c Add styles support to application 2013-09-19 12:35:20 +03:00
topilski 7b90d2c459 Add "Copy JSON" menu item to context menu #298 2013-09-19 10:34:14 +03:00
topilski 229fca6c48 Removing multiple documents from UI #174 (added context menu if multiply selection) 2013-09-19 10:03:34 +03:00
topilski f7b0fd6af1 Add 'Clone collection to different server' function #58 (fix loading databases) 2013-09-19 09:25:27 +03:00
topilski 34b6fb9eef Make UI for Adding Users in 2.2 mongodb the same as was in 0.8.2 version. 2013-09-19 09:05:07 +03:00
topilski 52b12aaeda Support old mongouser style 2013-09-18 22:16:42 +03:00
Dmitry Schetnikovich 772fa339cb Merge pull request #294 from topilski/master
Clone collection to different server function #58
2013-09-18 12:12:28 -07:00
topilski 59797f5303 Support mongodb 2.4.x style users #139 2013-09-18 16:30:06 +03:00
topilski 8e4c5b8762 Add 'Clone collection to different server' function #58, minor fixes 2013-09-18 14:28:56 +03:00
topilski 5863235fa3 Speed up fill model process 2013-09-18 13:44:22 +03:00
topilski 0f4a466366 Disable copy collection its own database 2013-09-17 19:44:09 +03:00
topilski 30ad951357 Refactoring Output widget. 2013-09-17 16:35:52 +03:00
topilski 1ed73e3a38 unique name in CopyCollectionDialog 2013-09-16 19:22:19 +03:00
topilski 21ac3392c2 Fix F11 keypress 2013-09-16 16:39:58 +03:00
topilski 7d87cb0667 Fix Mac Os build 2013-09-16 14:15:05 +01:00
topilski 3f8211a829 Fix memory leaks 2013-09-16 16:08:26 +03:00
topilski 7fbdac8c11 Small refactoring 2013-09-16 15:48:01 +03:00
topilski a478268ce6 Add 'Clone collection to different server' function #58 2013-09-16 15:07:51 +03:00
topilski d6b3f17b15 Add 'Clone collection to different server' function #58(intermediate commit) 2013-09-16 13:18:48 +03:00
Alexandr 026a304678 Merge pull request #293 from topilski/master
Crash creating new Database (Mac OS X 10.8.4) #291
2013-09-16 00:35:25 -07:00
topilski 0b041b6570 Crash creating new Database (Mac OS X 10.8.4) #291 2013-09-16 10:33:11 +03:00
topilski 3eccfedd17 Merge remote-tracking branch 'upstream/master'
Conflicts:
	src/robomongo/core/utils/Logger.h
2013-09-16 09:47:48 +03:00
schetnikovich 1a91a569df Minor style cleanups in /core folder 2013-09-15 21:29:27 +03:00
topilski 88bb9ba1e4 Code cleanup 2013-09-15 21:25:20 +03:00
Dmitry Schetnikovich 652fff66b5 Merge pull request #292 from topilski/master
Enable query logging #108
2013-09-13 11:26:53 -07:00
topilski f6b8e33210 Some code cleanup 2013-09-13 16:47:48 +03:00
topilski fcdaa015f5 Fix logfile name 2013-09-13 16:14:36 +03:00
topilski 1618c67b48 Add View context menu 2013-09-13 15:35:55 +03:00
topilski e57c64b032 Enable query logging #108 2013-09-13 14:53:23 +03:00
Dmitry Schetnikovich 7b2e237bea Merge pull request #289 from topilski/master
Implement new fetures, fix bugs
2013-09-12 13:00:00 -07:00
topilski 2cdbac1d83 Some code cleanup 2013-09-12 16:45:31 +03:00
topilski 67609cb408 Traansform tablemodel to proxy model 2013-09-12 16:18:28 +03:00
topilski ce459447f2 Fix copy value on TableView 2013-09-12 13:33:10 +03:00
topilski dcd2635832 Removing multiple documents from UI #174 (Added delete and shift+del shortcuts in table/tree views) 2013-09-12 12:15:11 +03:00
topilski d0adb2f810 Hot key "F5" doesn't work 2013-09-12 11:33:16 +03:00
topilski 79782759b4 Support mongodb 2.4.x style users #139 2013-09-12 11:13:23 +03:00
topilski cdf5feaed0 Fixed linux build 2013-09-11 19:33:47 +03:00
topilski 5fe7f0470e Refactoring OutputItemContentWidget.h 2013-09-11 17:13:55 +03:00
topilski 2e4aa09168 0.8.1 left panel collections/functions/users navigation doesn't work when authenticating against the DB #282 2013-09-11 14:34:39 +03:00
topilski ce35821546 Removing multiple documents from UI #174 (Added delete and shift+delete shortcuts in table/tree views, intermediate commit) 2013-09-11 13:11:50 +03:00
topilski d0dcfad20c Inserting multiple documents from UI #173 2013-09-11 11:55:38 +03:00
topilski b3f7c4dd37 Support mongodb 2.4.x style users #139 2013-09-11 10:59:42 +03:00
topilski 5d3b712b59 Support mongodb 2.4.x style users #139 (intermediate commit) 2013-09-11 10:25:55 +03:00
Dmitry Schetnikovich 99dc33fcd4 Merge pull request #285 from topilski/master
BsonTreeWidget transform to BstonTreeView
2013-09-10 11:03:42 -07:00
topilski 17ee0a031e A way to disable Alt + number shortcut #192 2013-09-10 15:42:32 +03:00
topilski 08bcc59fe7 Retain current view mode when running search #93 2013-09-10 15:17:30 +03:00
topilski 1df05dfa02 OutputWidget refactoring 2013-09-10 14:41:24 +03:00
topilski 0e968058db Added Notifier 2013-09-10 10:19:59 +03:00
topilski 7869ec0b32 Code update 2013-09-10 10:13:37 +03:00
topilski 4bbdec3478 Update context menu in views 2013-09-10 09:00:59 +03:00
topilski 96b54a4ebf Finished merging BsonTreeView and BsonTableView 2013-09-09 17:27:20 +03:00
topilski 54d50ef33f Inheritance BsonTableModel from BsonTreeModel 2013-09-09 15:56:34 +03:00
topilski 08decea6fb Merge remote-tracking branch 'upstream/master' 2013-09-09 14:09:06 +03:00
topilski 8c397f93f7 BsonTreeWidget transform to BstonTreeView intermediate commit 2013-09-09 14:01:51 +03:00
Dmitry Schetnikovich 62c1c3de16 What's new updated 2013-09-07 22:42:17 +03:00
Dmitry Schetnikovich ce66b63371 What's new for 0.8.1 updated 2013-09-06 16:40:35 +03:00
Dmitry Schetnikovich 7be356a06f Merge pull request #281 from topilski/master
Release 0.8.1
2013-09-06 06:23:51 -07:00
topilski d4d6243025 Add background to tableview 2013-09-06 16:16:32 +03:00
topilski 01d5a0c382 Showgrid = true 2013-09-06 09:41:19 +03:00
topilski 1222ad7519 Remove beta postfix 2013-09-06 08:28:22 +03:00
schetnikovich 8b69556f50 Default value for batchSize 2013-09-06 03:30:01 +03:00
schetnikovich 5c7f5733f0 Fixed height for header removed, because this doesn't work correctly on Mac 2013-09-06 03:11:28 +03:00
schetnikovich 0bbd3add0a Paging tweaks 2013-09-06 02:45:26 +03:00
schetnikovich 15e47170d5 .mongorc.js and .robomongorc.js fixes 2013-09-05 23:24:09 +03:00
schetnikovich d2977badca Several minor tweaks for TableMode 2013-09-05 21:59:49 +03:00
schetnikovich 9dacc82be5 Paging Left problem fixed 2013-09-05 18:30:32 +03:00
Dmitry Schetnikovich 98f2c6254b Merge pull request #279 from topilski/master
Copy value in Table Mode fixed
2013-09-05 07:02:43 -07:00
topilski d1a435c55c Fix copy value 2013-09-05 16:49:27 +03:00
Dmitry Schetnikovich cdba4bae7c Merge pull request #278 from topilski/master
Release candidate 0.8.1 beta 2
2013-09-05 06:21:36 -07:00
topilski dc894a3b95 Fixed little bugs, design issues 2013-09-05 16:04:35 +03:00
topilski f76012b967 Fix dependencies for deb package 2013-09-05 07:38:44 -04:00
topilski aceb46ed35 Fix package dependencies rpm 2013-09-05 08:57:24 +03:00
Dmitry Schetnikovich 878782296d Fixed heights of headers removed - it may vary between platforms 2013-09-05 00:51:55 +03:00
schetnikovich 2d7de46020 TableView visual tweaks 2013-09-05 00:12:02 +03:00
Dmitry Schetnikovich f62f718f18 Merge pull request #275 from topilski/master
Release Candidate
2013-09-04 07:55:27 -07:00
topilski 30a7b3c2b1 Stable build 2013-09-04 11:19:51 +03:00
topilski 7ce7383597 Entering incorrect symbols as database name isn't handled properly. #262(New fix) 2013-09-04 11:18:59 +03:00
topilski d2399668cb Same height of the rows in Tree Mode and Table mode would be very nice. #267 2013-09-04 10:36:11 +03:00
topilski fdc1ad7afd Some improvement code 2013-09-04 10:24:02 +03:00
topilski d29576bd5a Fix linux build 2013-09-04 10:03:06 +03:00
topilski 6805fc931f Fix build script 2013-09-04 09:49:27 +03:00
topilski f7fcaf68f3 Display context menu in Table Mode as in Tree Mode #266 2013-09-04 09:43:45 +03:00
topilski cac53576b7 Added bsonElemnt to bsontableitem 2013-09-03 21:19:15 +03:00
topilski 74881feb4e Fix rpm dependencies 2013-09-03 17:08:19 +03:00
topilski 4f6ab6ebbd Fix linux dependencies 2013-09-03 16:13:54 +03:00
topilski 3ce325f0f4 Display context menu in Table Mode as in Tree Mode #266 intermediate commit 2013-09-03 15:10:44 +03:00
topilski 3780e677d4 Border colors in Table Mode should be the same as in Tree Mode. #268 2013-09-03 13:55:36 +03:00
topilski b675764379 Align text in table's header to the left (when in Table Mode) #270 2013-09-03 13:52:08 +03:00
topilski 231957815d Tweaks of View Modes Switcher #271 2013-09-03 13:46:03 +03:00
topilski d3eb20c72e Fix dependencies 2013-09-03 11:35:37 +03:00
Dmitry Schetnikovich a50598b454 Merge pull request #265 from topilski/master
Entering incorrect symbols as database name isn't handled properly. #262
2013-09-02 14:13:23 -07:00
topilski 13b262c261 Desktop icon isn't created despite corresponding checkbox was checked at installation. #260 2013-09-02 20:31:28 +03:00
topilski 3c9374582a Entering incorrect symbols as database name isn't handled properly. #262 2013-09-02 15:13:57 +03:00
Alexandr c00ae01d89 Merge pull request #264 from topilski/master
Fix Linux build
2013-09-02 00:31:00 -07:00
topilski e67f5199f4 Fix Linux build 2013-09-02 10:30:11 +03:00
Dmitry Schetnikovich 874b4d2582 Merge pull request #263 from topilski/master
First implementation of TableView
2013-09-01 11:36:48 -07:00
topilski dda7328b2a Update MongoElement sources 2013-09-01 18:48:27 +03:00
topilski 7d56289235 Update icons for TableView, some improvement code 2013-09-01 11:17:18 +03:00
topilski ea906fb864 Added support Array and Documents in TableView 2013-08-31 16:51:10 +03:00
topilski 8a6be15bea First implementation simple BsonTableWidget 2013-08-31 15:11:11 +03:00
topilski bc63331fdf Merge branch 'master' of https://github.com/topilski/robomongo 2013-08-30 20:52:18 +03:00
topilski 57c66e6958 Table implementation intermediate commit 2013-08-30 19:15:51 +03:00
topilski f98ec5a52e TableView intermediate commit 2013-08-30 11:56:43 +03:00
topilski 936d46e211 TableView start implementation 2013-08-30 10:44:01 +03:00
topilski b376076e15 Fixed build according Dmitry Schetnikovich recommendations 2013-08-30 09:27:05 +03:00
schetnikovich 01c960be2b Several std::string-related fixes and Settings Manager cleanup. 2013-08-30 00:39:15 +03:00
Dmitry Schetnikovich 5c80996fe3 Merge pull request #257 from topilski/master
Several bugs fixed
2013-08-29 11:59:50 -07:00
topilski 077e43fbf2 Added Load .robomongo.js to initscript, fixed return keypress in paging widget, fix limits 2013-08-29 18:36:00 +03:00
topilski 00e2783cc5 Added VERIFY macro 2013-08-29 14:47:07 +03:00
topilski d0f12a0450 Fix up line numbers in QsciScintilla widget. 2013-08-29 11:18:28 +03:00
topilski c379862ce4 the limit() method not auto completed #245 2013-08-29 10:29:36 +03:00
topilski 492e7560c3 JSON list validation #246 2013-08-28 17:41:16 +03:00
topilski 375b6bb9cc Error installing on CentOS 6 #252 2013-08-28 10:08:39 +03:00
topilski ce167ca71b Error installing on CentOS 6 #252 intermediate commit 2013-08-27 20:25:19 +04:00
topilski b700324d92 Fix dependencies for project 2013-08-27 17:01:11 +03:00
topilski 80fcb46079 Some refactoring 2013-08-27 15:10:06 +03:00
Alexandr 784e847b16 Merge pull request #251 from topilski/master
Fix unicode problem
2013-08-26 22:48:25 -07:00
topilski 9a444f8aeb Fix unicode problem 2013-08-27 08:47:38 +03:00
Dmitry Schetnikovich 779366ed3a Readme updated 2013-08-26 23:00:59 +03:00
Dmitry Schetnikovich 47bcd54b1e Merge pull request #250 from topilski/master
Replace QString to std::string where possible
2013-08-26 12:59:09 -07:00
topilski cabd7c77f9 Remove Concatenator class 2013-08-26 18:04:23 +03:00
topilski 65fc52fb8c Some improvement code (QString to std::string) 2013-08-26 17:31:12 +03:00
topilski 9df2181ee6 Replace QString to std::string completed 2013-08-26 15:45:51 +03:00
topilski c594b3ad79 Merge remote-tracking branch 'upstream/master' 2013-08-26 15:23:58 +03:00
topilski 2b3a03bac7 QString replace to std string where possible, next step, intermediate commit 2013-08-26 14:42:09 +03:00
topilski 4a2c6274b6 Fixup linux build 2013-08-26 12:50:47 +03:00
topilski 85a88d3f82 QString replace to std string where possible, intermediate commit 2013-08-26 12:24:22 +03:00
topilski 20012daa93 Merge remote-tracking branch 'upstream/master' 2013-08-24 14:35:38 +03:00
topilski b3e4728e90 Merge branch 'master' of https://github.com/topilski/robomongo 2013-08-24 14:33:26 +03:00
topilski fc109feab6 Replace QList container to std::vector 2013-08-24 14:32:19 +03:00
Dmitry Schetnikovich 4dacb2b4ad What's new file updated 2013-08-23 21:21:36 +03:00
Dmitry Schetnikovich b6d82d6b3a What's new file updated 2013-08-23 20:42:56 +03:00
Dmitry Schetnikovich 0f59516569 Merge pull request #241 from topilski/master
Stable package building
2013-08-23 10:40:32 -07:00
topilski d8e4a69692 Fixed Windows packages build script 2013-08-23 18:46:23 +03:00
topilski 625513c948 Fix description 2013-08-23 18:01:48 +03:00
topilski f2ad2e55fd Theme for Linux #239 2013-08-23 17:41:33 +03:00
topilski 3f7c8bfe0c Add README file to the Linux packages #240 2013-08-23 16:47:24 +03:00
topilski 4f2294e0e9 Merge remote-tracking branch 'upstream/master' 2013-08-23 16:19:19 +03:00
schetnikovich d68d432690 Minor changes in package description 2013-08-23 11:13:00 -02:00
schetnikovich def0a8a4a2 README for Linux and minor changes in json.cpp 2013-08-23 11:06:40 -02:00
topilski 107f6a0a30 Stable package build script for windows 2013-08-23 09:49:26 +03:00
Dmitry Schetnikovich 8861a65d0f Merge pull request #237 from topilski/master
Added check of BUILD variable in CMakeLists.txt
2013-08-22 10:22:02 -07:00
topilski 73dcbfe3cc Added check of BUILD variable in CMakeLists.txt 2013-08-22 18:43:57 +03:00
Dmitry Schetnikovich 61ef69860d Merge pull request #236 from topilski/master
Packages build scripts
2013-08-22 08:23:26 -07:00
topilski 0ce4bcdf00 Fix tar.gz package generation 2013-08-22 17:40:42 +03:00
topilski 953104cbd6 Fix Visual studio 11 find behavior, update package build script for mac 2013-08-22 17:04:24 +03:00
topilski 39bc003182 Fix package bash script 2013-08-22 15:30:49 +03:00
topilski 6088080a44 Added some cache variables to main CMakeLists.txt 2013-08-22 12:34:51 +03:00
topilski 2558203b3a Fix deb package generation 2013-08-22 11:54:49 +03:00
topilski 96171d6dbc Fix package build scripts on Linux 2013-08-22 10:20:13 +03:00
topilski a93807ec68 Added package generator scripts 2013-08-22 08:46:35 +03:00
topilski 8bda162f9f Merge remote-tracking branch 'upstream/master' 2013-08-22 08:21:00 +03:00
Dmitry Schetnikovich 13d3033699 Changelog updated 2013-08-21 18:48:35 +03:00
topilski 6a42f6c429 Fix project description and summary, actual for packages only 2013-08-21 18:48:24 +03:00
Dmitry Schetnikovich 42a1e89b23 Changelog updates 2013-08-21 18:06:00 +03:00
topilski cbae3a1bd3 Merge remote-tracking branch 'upstream/master' 2013-08-21 18:01:31 +03:00
schetnikovich 86ea046fc3 DBRef correct parsing (#113)
Robomongo understand three fields in  DBRef sub-objects:

{
  "$ref" : "my_collection",
  "$id" : "my_id",
  "$db" : "my_db"
}

$id and $db fields can be of any type (int, string, date etc.).
2013-08-21 12:35:14 -02:00
topilski c58cbf2828 Add dependencies to test target 2013-08-21 16:57:52 +03:00
schetnikovich 5e90cf2615 Version updated (now beta 2) 2013-08-21 11:32:08 -02:00
topilski bd436b0e85 Fix up CMAKE_BUILD_TYPE variable 2013-08-21 15:17:52 +03:00
topilski c614a64769 Delete not needed headers, small refactoring 2013-08-21 13:54:00 +03:00
topilski 52cba4c70e Cmake refactoring MSVC 2013-08-21 11:54:40 +03:00
Dmitry Schetnikovich 11d221a927 Merge pull request #234 from topilski/master
Stable build
2013-08-20 09:24:36 -07:00
topilski b74525e674 Fix Mac OS build 2013-08-20 15:16:23 +01:00
topilski 914c2621c9 Fixed cmake linker flags 2013-08-20 15:31:22 +03:00
topilski dec1ccab7e Added cmake linker flags 2013-08-20 15:00:28 +03:00
topilski fbf2b7cb2e Fix gif image displaying, added CHANGELOG and COPYRIGHT files to install target 2013-08-20 11:05:35 +03:00
Dmitry Schetnikovich 9883b9509b Fix for incorrect handling of Dates mentioned in changelog 2013-08-19 14:38:16 -07:00
Dmitry Schetnikovich b9f66c91fc Changelog updated 2013-08-19 23:55:04 +03:00
schetnikovich 28b840d165 COPYRIGHT file added. build-requirements.txt removed 2013-08-19 23:00:15 +03:00
Dmitry Schetnikovich fa982de537 Merge pull request #232 from topilski/master
Icon in windows installer should be corrected #182
2013-08-19 10:50:29 -07:00
topilski 336995c914 Fix displaying Date in BsonTreeWidget 2013-08-19 16:42:42 +03:00
topilski e01aee0b20 Added validation user input in the PagingWidget class 2013-08-19 11:42:44 +03:00
topilski 4489b34975 Improve EventBus code 2013-08-19 10:55:06 +03:00
topilski 4e4f186814 Icon in windows installer should be corrected #182 2013-08-19 08:48:58 +03:00
topilski 0894ee1bac Common refactoring. 2013-08-19 06:52:11 +03:00
topilski 3514297954 Refactoring, delete not needed includes, fix code style 2013-08-18 19:15:27 +03:00
topilski 45aeade92d Delete old not needed files, added QtUtils 2013-08-18 12:38:09 +03:00
schetnikovich a018f1ddb5 Merge branch 'master' of https://github.com/paralect/robomongo 2013-08-17 23:25:59 +03:00
schetnikovich d164ec578a Fixed incorrect text for OK button in ConnectionDialog 2013-08-17 23:25:41 +03:00
Dmitry Schetnikovich 2c5158bb45 NSIS top logo images 2013-08-17 23:19:11 +03:00
schetnikovich f229735320 Unified placement order of Ok and Cancel buttons in dialogs 2013-08-17 23:04:44 +03:00
schetnikovich d9be00174e Date conversion tests cleanup 2013-08-17 21:15:34 +03:00
schetnikovich 82ee82158c Integer overflow protection in brute-force test 2013-08-16 22:42:04 +03:00
Dmitry Schetnikovich 98a0456ea7 Merge pull request #231 from topilski/master
Update min and max anchors in datesystem
2013-08-16 10:25:18 -07:00
topilski 05a979e160 Update min and max anchors in datesystem 2013-08-16 18:54:30 +03:00
topilski 5fe3a8e88b Merge remote-tracking branch 'upstream/master' 2013-08-16 18:47:21 +03:00
schetnikovich e60288770d 'Display Dates in' is now before 'Legacy UUID encoding' menu item. View mode items moved to their own group 'Default View Mode' 2013-08-16 18:29:02 +03:00
topilski 5519b473c2 Merge remote-tracking branch 'upstream/master' 2013-08-16 17:47:10 +03:00
schetnikovich 6848e82d48 Long long for dates 2013-08-16 17:41:12 +03:00
topilski 9d7d0bc3a8 Fix test 2013-08-16 17:32:49 +03:00
topilski d483f5bd07 Merge remote-tracking branch 'upstream/master' 2013-08-16 17:29:50 +03:00
schetnikovich ec046fc737 Minor test changes 2013-08-16 17:27:39 +03:00
topilski f751d02dee Some improvement of code 2013-08-16 11:34:27 -02:30
Dmitry Schetnikovich 386f1f3ea2 Merge pull request #230 from topilski/master
Correct MongoDB Date rendering and parsing. #224
2013-08-16 06:25:52 -07:00
topilski dc2ef38d51 Correct MongoDB Date rendering and parsing. #224 2013-08-16 14:25:42 +03:00
topilski ae494c5236 Fix Mac Os build 2013-08-16 11:48:08 +03:00
topilski 0cede0e9cc Fix data parsing 2013-08-16 11:33:20 +03:00
topilski 92761f68c4 Merge remote-tracking branch 'upstream/master'
Conflicts:
	src/robomongo/core/settings/SettingsManager.cpp
	tests/test_parser.cpp
2013-08-16 09:11:41 +03:00
schetnikovich 27e6da71d7 Brute-force test for dates parsing and rendering. Some minor tweaks of tests 2013-08-16 02:04:00 +03:00
schetnikovich a944e41b83 Merge 2013-08-15 22:08:19 +03:00
schetnikovich bf18b905b8 Default View Mode is a Custom View Mode 2013-08-15 21:04:44 +03:00
schetnikovich c58a342a07 Long tooltip now cut to 700 symbols. Monospace font is used for tooltips 2013-08-15 20:43:39 +03:00
topilski 01536ff673 Fix bsonTreeView 2013-08-15 19:22:43 +03:00
topilski 651034ba07 Fix timeZones 2013-08-15 19:15:18 +03:00
schetnikovich 255191e799 Document context menu items now have 'Document' suffix for all operations on full Document 2013-08-15 16:41:02 +03:00
schetnikovich 47a71227e5 Expand Recursively context menu position changed 2013-08-15 16:37:10 +03:00
schetnikovich 81a1c5f896 Indexes context menu cleanup 2013-08-15 16:30:36 +03:00
schetnikovich 1032aec7cd Edit Index goes before Delete Index 2013-08-15 16:23:35 +03:00
schetnikovich e34a7b92ce Tooltips for Open/Save buttons 2013-08-15 16:04:58 +03:00
topilski 3cdf020bde Refactoring BsonTreeItem 2013-08-15 14:45:29 +03:00
topilski bb3e15c68a Correct MongoDB Date rendering and parsing. #224 (Added some tests) 2013-08-15 12:26:39 +03:00
topilski 8ec1b3b6c1 Merge remote-tracking branch 'upstream/master' 2013-08-15 08:27:28 +03:00
schetnikovich b2d6429a50 Text width calculation using Scintilla methods 2013-08-15 01:06:55 +03:00
schetnikovich 274f1c6445 Line number margin tweaks.
1) Background and foreground color set.
  2) Automatic margin width calculation, based on number of digits.
  3) ScriptWidget autocompletion popup now respects Line Number margin.
2013-08-15 00:35:04 +03:00
schetnikovich ea4ba0e98d ToolBar icon size fixed (#169) 2013-08-14 22:41:07 +03:00
schetnikovich 1edf65bb5d Index icon 2013-08-14 22:13:06 +03:00
Dmitry Schetnikovich 092df6bec9 Merge branch 'master' of https://github.com/paralect/robomongo 2013-08-14 22:04:38 +03:00
Dmitry Schetnikovich a4ed823b76 Index icon 2013-08-14 22:04:13 +03:00
topilski 3f320362cf Correct MongoDB Date rendering and parsing. (intermediate commit) 2013-08-14 19:36:31 +03:00
topilski 39dea95a48 Refactoring CollectionStatsTreeItem 2013-08-14 15:14:21 +03:00
topilski d8b532ac33 Small refactoring 2013-08-14 14:24:04 +03:00
topilski e55803680a Correct MongoDB Date rendering and parsing. #224 (intermediate commit) 2013-08-14 11:13:11 +03:00
Dmitry Schetnikovich cbbb5321a5 Merge pull request #223 from topilski/master
Floats keep rounding off to 4 or 5 decimal places in the view when converted from string to float
2013-08-13 14:47:22 -07:00
topilski ed694f2e32 Floats keep rounding off to 4 or 5 decimal places in the view when converted from string to float #115 2013-08-13 20:35:08 +03:00
topilski beabf7dbc9 Deleted not needed functions 2013-08-13 19:24:05 +03:00
Dmitry Schetnikovich c2e0e7379f Merge pull request #222 from topilski/master
Added unit test support, based on GTest library
2013-08-13 09:13:57 -07:00
topilski edb3285c3a Fix unit tests build on linux platform 2013-08-13 15:00:07 +03:00
topilski c166f4ad7a Added first test case, using gtest solution 2013-08-13 14:16:10 +03:00
Dmitry Schetnikovich 2553c92218 Merge pull request #221 from topilski/master
Checked all package instalation on clean machines
2013-08-12 12:32:43 -07:00
topilski 1f610a4bfe Fix license for rpm package 2013-08-12 19:25:42 +03:00
topilski 0b7ff09491 Hide component window in NSIS package 2013-08-12 19:03:18 +03:00
topilski 6d093699fc Fix Mac os dmg generation. 2013-08-12 15:53:41 +01:00
topilski 9eb94ac0ea Updated nsis package creation. 2013-08-12 12:08:59 +03:00
topilski bfdeb452a7 Fix linux build 2013-08-12 10:59:57 +03:00
topilski a8d412501d Update js cmakefile according SConscript 2013-08-12 09:33:58 +03:00
topilski af46b1191c Fix deb package generation, after cpack execution simple exec fixup_deb.sh 2013-08-11 17:21:35 +03:00
Dmitry Schetnikovich 596ab5d131 Merge pull request #219 from topilski/master
Stable version, little bugs fixed
2013-08-09 08:57:26 -07:00
topilski cc42ea251a Sparse checkbox incorrect behavior. #215 2013-08-09 18:15:44 +03:00
topilski ed7f9c873c Memory not released, when closing shell tab. #213 2013-08-09 17:48:28 +03:00
topilski e3a1a0dc14 Fixed Mac Os build problem 2013-08-09 15:08:01 +01:00
topilski cc9f36a939 "Expire after" in Index Editor is an optional field. #218 2013-08-09 11:39:04 +03:00
topilski 97d4a98c17 Text Weight should be BSONObj, not just string. #216 2013-08-09 10:25:57 +03:00
topilski 9618f6a724 0 (zero) is a valid value for "Expire after" field in Index Editor. #217 2013-08-09 10:05:08 +03:00
topilski e7b2b497f1 When saving scripts, file name extension should be ".js" if not specified otherwise. #185 2013-08-09 09:50:10 +03:00
topilski 898b9c0270 Merge branch 'master' of https://github.com/topilski/robomongo 2013-08-09 08:35:37 +03:00
topilski 898bde0617 If file save was unsuccessful, Robomongo doesn't show any message. #212 2013-08-09 08:17:04 +03:00
schetnikovich f5c5172044 Minor tweaks of help label text on EditIndex dialog 2013-08-09 00:24:32 +03:00
Dmitry Schetnikovich 11d677fc39 Merge pull request #214 from topilski/master
Bug fixes
2013-08-08 10:26:49 -07:00
topilski 34da1dd6c0 After successful build on Mac OS X, cannot run Robomongo #211 2013-08-08 16:29:27 +01:00
topilski eb2e71e5a7 Some fixes in creating deb package.Some fixes in generation deb package. 2013-08-08 14:52:47 +03:00
topilski 0c2ce8c617 If file save was unsuccessful, Robomongo doesn't show any message. #212 2013-08-08 09:40:29 +03:00
topilski e7ee3f9641 Index "key" field renders incorrectly #210 2013-08-08 09:31:09 +03:00
Dmitry Schetnikovich cb96fe63ab Merge pull request #209 from topilski/master
Added support to monitor document change according behaviors of text edi...
2013-08-07 09:09:48 -07:00
topilski 7afebbb5e4 Added support to monitor document change according behaviors of text editors . 2013-08-07 19:07:06 +03:00
Alexandr d630b8b919 Merge pull request #208 from topilski/master
Fix bugs new step
2013-08-07 06:59:07 -07:00
topilski 29fc346131 Search Problem #196 2013-08-07 16:51:53 +03:00
Dmitry Schetnikovich f87dd74956 Merge pull request #201 from topilski/master
Fixed little bugs, stable build
2013-08-06 11:15:55 -07:00
topilski d7decff092 Add support crosscompile for Mac Os system, needed only specify CMAKE_OSX_SYSROOT (Mac OS sdk path) 2013-08-06 17:02:43 +01:00
topilski c338009200 On all platforms application name is Robomongo (first letter is uppercase) #186 2013-08-02 22:12:53 +03:00
topilski bc2bc66f85 Search Problem #196, improving code 2013-08-07 10:12:58 +03:00
topilski d6d5589fb0 Indicator of empty results in ExplorerWidget. #195 2013-08-07 08:32:55 +03:00
topilski 9f1b71e600 Horizontal ScrollBar Policy for FindFrame #189 2013-08-07 08:18:22 +03:00
topilski c88d65486c Remove tab symbols from all source files. #197 2013-08-02 18:42:35 +03:00
topilski 879402dcf9 Merge branch 'master' of https://github.com/topilski/robomongo 2013-08-06 11:43:03 +03:00
topilski 3fab28028d Remove tab symbols from all source files. #197 2013-08-06 11:42:12 +03:00
topilski f1f517541f Cannot connect to MongoDB on Windows #183 2013-08-06 09:50:35 +03:00
topilski af9e47edcf Fix Mac os buttons images problem 2013-08-05 15:56:28 +01:00
topilski 0f47c4e225 Fix Mac Os build 2013-08-05 14:56:10 +01:00
topilski a3e01b5d7e Some shortcuts are not working now #193 2013-08-02 16:45:05 +03:00
topilski 9348872711 Profile Robomongo with valgrind #194 2013-08-02 16:11:12 +03:00
topilski 38320c9cc2 Profile Robomongo with valgrind #194 (intermediate commit) 2013-08-05 10:37:30 +03:00
topilski 939b76b141 Refactoring MongoDocument and MongoCollection, 2013-08-04 19:05:19 +03:00
topilski cf8025c88a Fix build 2013-08-04 10:42:39 +03:00
topilski c9e6dfead2 Refactoring settings 2013-08-04 10:19:21 +03:00
topilski aea3c730be Small refactoring SettingsManager 2013-08-03 13:49:19 +03:00
topilski 33b435eff4 ScriptWidget blinking, when adding/removing lines. #184 2013-08-02 20:20:09 +04:00
topilski 952b065ae2 Fix font height for qsciScintilla 2013-08-02 18:18:21 +03:00
topilski e3ad46cfb5 Search Problem #196 2013-08-02 15:18:06 +03:00
topilski 6130d1daca Drop Duplicates should depend on Unique checkbox #190 2013-08-02 14:12:05 +03:00
topilski 6dfa7ebf61 ScriptWidget blinking, when adding/removing lines. #184 2013-08-02 12:07:51 +03:00
topilski 2478b94822 Horizontal ScrollBar Policy for FindFrame #189 2013-08-02 12:51:47 +03:00
topilski 31188b4591 Horizontal ScrollBar Policy for FindFrame #189 2013-08-02 12:40:49 +03:00
topilski b2dc22e57b Merge branch 'master' of https://github.com/topilski/robomongo 2013-08-02 11:52:43 +03:00
topilski 9646700b3f "make install" problem on Linux #200 2013-08-02 11:45:54 +03:00
Dmitry Schetnikovich 8d07dcb8ec Merge pull request #199 from topilski/master
Fixed packages and tested on clean machines (Windows and Linux only)
2013-08-01 12:07:00 -07:00
topilski aebc3f20cc Fix rc files 2013-08-01 19:49:25 +03:00
topilski 6aa8d522b2 On all platforms application name is Robomongo (first letter is uppercase) #186 2013-08-01 19:14:57 +03:00
topilski 2342e46a7d In Index Editor we missed Server indicator. #191 2013-08-01 19:08:05 +03:00
topilski e65e81365a Indicator of empty results in ExplorerWidget. #195 2013-08-01 18:58:49 +03:00
topilski 66583f6d64 Fix Mac Os package on clean machine 2013-08-01 16:06:45 +01:00
topilski 45c515bb9c ESC should close any opened dialog #188 2013-08-01 14:35:03 +03:00
topilski 8d851a28d8 Horizontal ScrollBar Policy for FindFrame #189 2013-08-01 14:09:51 +03:00
topilski db76d14075 FileDialog filter #187, When saving scripts, file name extension should be ".js" if not specified otherwise. #185 2013-08-01 13:53:27 +03:00
topilski 0e6ad5e56a Fix Linux build 2013-07-31 16:31:53 +03:00
topilski 2c966cc567 Refactoring integrate-qt.cmake 2013-08-01 12:20:49 +03:00
topilski e24476beae Check linux build, fix cmake 2013-07-31 16:06:30 +03:00
topilski 1ac3e14486 Update CmakeFile for windows 2013-08-01 08:40:00 +03:00
topilski f9dd5b5977 Some refactoring CMakeFile 2013-07-31 21:59:09 +03:00
topilski 5815dba0ad Fix linking error on release Mac Os, add lib cocoa to install target 2013-07-31 17:11:25 +01:00
topilski 0f141201f8 Add Qtbus to install target, fix linux package, tested on clean machine 2013-07-31 14:44:11 +03:00
topilski 6da2117087 Add qt.conf for plugins 2013-07-31 12:09:36 +03:00
topilski 67480b3280 Merge remote-tracking branch 'upstream/master' 2013-07-31 10:08:13 +03:00
topilski 39f7ffb779 Add needed libs to install target(Windows) 2013-07-31 09:45:55 +03:00
Dmitry Schetnikovich 3ebd168026 Merge pull request #179 from topilski/master
Packages for all systems created.
2013-07-30 12:03:00 -07:00
topilski dfb7f5ad3a Changed desktop entry according standarts 2013-07-30 16:58:02 +01:00
topilski 9e6cc9194c Use CPACK_GENERATOR=DragNDrop on Mac Os 2013-07-30 16:29:26 +01:00
topilski 60ff0f14d7 Delete not needed libraries on Windows platform 2013-07-30 14:58:54 +03:00
topilski b04c72af9b Linux package #177, delete not needed files 2013-07-30 12:25:22 +03:00
topilski 2b3666bb05 Fix Deb package 2013-07-30 09:21:59 +03:00
topilski 5c3bc4b742 Delete RPM spec template, add post install and postuninstall scripts 2013-07-30 04:20:55 -04:00
topilski 10bf3f8cc8 Linux package #177(Deb) 2013-07-30 08:45:47 +03:00
topilski 6deaefab61 Add postbuild step to deb package 2013-07-29 19:48:36 +03:00
topilski 6972718028 Fix windows build 2013-07-29 16:52:34 +03:00
topilski 324077ee6d Fix desktop entry template 2013-07-29 14:49:57 +03:00
Dmitry Schetnikovich 1c30744db7 Merge pull request #178 from topilski/master
Fixed linking errors, added LICENSE and robomongo.sh to install target.
2013-07-26 10:54:09 -07:00
topilski cd7dcda66b Added desktop template for linux 2013-07-26 19:49:42 +03:00
topilski 0d2c77aa81 Fix linking errors, add LICENSE and robomongo.sh to install target 2013-07-26 17:35:17 +03:00
topilski 2d8a22a65c Add search capability in text mode view results #32 2013-07-26 14:57:28 +03:00
Dmitry Schetnikovich d8bfbcb491 Merge pull request #176 from topilski/master
Fix Mac OS build, added more info to bundle
2013-07-25 11:30:57 -07:00
topilski acc5ae6c36 Fix Mac Os build, added more info to bundle 2013-07-25 15:08:14 +01:00
Dmitry Schetnikovich 0b7367d23c Merge pull request #168 from topilski/master
Check new build system of Robomongo on Mac OS X #153
2013-07-24 10:36:38 -07:00
topilski 1b7286567a Check new build system of Robomongo on Mac OS X #153 2013-07-24 17:32:53 +01:00
topilski e1cb6fba79 Added needed files 2013-07-24 16:58:35 +01:00
topilski eb8c23d5c5 Fix Mac Os bundle 2013-07-24 16:46:45 +01:00
Dmitry Schetnikovich ed1878be67 Merge pull request #167 from topilski/master
Windows build fixed
2013-07-24 07:14:23 -07:00
topilski 836fac7dcd Fix windows build 2013-07-24 17:12:36 +03:00
Dmitry Schetnikovich ab28727373 Merge pull request #162 from topilski/master
Create package target for windows, fix make install on linux
2013-07-24 06:32:02 -07:00
topilski 1adf581272 Make searches looped #170, Search: show the number of results found #171 (only warning message) 2013-07-23 23:26:22 +03:00
topilski 2645eb8f17 Fix deb package 2013-07-28 12:11:20 -04:00
topilski 47baeaa1b7 Delete symlinks, rename libraies on install step 2013-07-28 16:29:38 +03:00
topilski b2d8b596fd Fix ln links 2013-07-28 11:09:10 +03:00
topilski 178671fcb1 Fix linux build 2013-07-27 22:37:18 +03:00
topilski 123dc40b44 CMakeFiles refactoring 2013-07-27 16:52:17 +03:00
topilski 5b7b364b5e Add symlinks and needed libs to install target 2013-07-27 14:55:06 +03:00
topilski da4dc09b28 Merge branch 'master' of https://github.com/topilski/robomongo 2013-07-23 22:08:08 +03:00
topilski 0c3b352a2d Update rpm spec file, fix debain package process 2013-07-23 22:07:15 +03:00
topilski 68021d97d0 Fix linux CmakeFile 2013-07-23 17:44:55 +03:00
topilski 7d798feeac Update CmakeFile for Mac 2013-07-25 15:15:39 +03:00
topilski f7b05a55a4 Generate win.rc file, add template rc for other platforms 2013-07-25 13:33:51 +03:00
topilski 68552f028d First stable implementation of DEB and RPM packages 2013-07-23 16:37:21 +03:00
topilski 825d06ba68 Start implementation of DEB package 2013-07-24 22:05:25 +03:00
topilski 614643cb2e First implementation of rpm package for linux 2013-07-23 15:30:56 +03:00
topilski 387b68335b Windows package #163 2013-07-24 12:30:29 +03:00
topilski 1acc1765ad Robomongo icon missed on Windows #164 2013-07-24 09:41:46 +03:00
topilski 6f4d0a61a5 Fix shortcut in nsis installer 2013-07-23 22:36:18 +03:00
topilski 586e667dfc Fix windows build 2013-07-23 19:42:36 +03:00
topilski 493502ab61 Fix linux build 2013-07-23 19:29:15 +03:00
topilski 4763eadfa9 First implementation of Windows nsis package 2013-07-23 19:13:09 +03:00
topilski 3d5951aa0e Add Cpack option 2013-07-23 15:43:44 +03:00
topilski 5300195781 Fix linux make install target 2013-07-23 12:31:32 +03:00
topilski e09334ec63 Upper case for qjson project 2013-07-23 11:29:45 +03:00
schetnikovich 4bcdc0e091 Design/Layout tweaks of Index Properties Dialog 2013-07-23 01:29:32 +03:00
Dmitry Schetnikovich e0e43ac747 Merge pull request #160 from topilski/master
Fixed json text displaying
2013-07-22 11:33:52 -07:00
topilski 1d75b662e1 fix json text displaying 2013-07-22 21:17:50 +03:00
Dmitry Schetnikovich 4f50dad5cf Merge pull request #159 from topilski/master
Fixed Linux build
2013-07-22 10:35:30 -07:00
topilski a5f9729c3e Fix linux build 2013-07-22 17:37:52 +01:00
Dmitry Schetnikovich 89f5cd6c28 Merge pull request #158 from topilski/master
Support all index options #151
2013-07-22 08:38:01 -07:00
topilski 4c579b4f74 Support all index options #151 2013-07-22 18:28:17 +03:00
schetnikovich 8415170638 NumberLong() support in BJSON Parser and Writer #157
All int64 values now represented as NumberLong(x).
2013-07-22 18:28:11 +03:00
topilski 3e9305b408 Link qjson static on linux, upper case for cmake files 2013-07-22 17:07:34 +03:00
topilski 0e9361f4e8 Support all index options #151 (without dropDups, sparse default_language, language_override, weights) 2013-07-22 14:30:07 +03:00
topilski 4845b0f260 Fix linux build 2013-07-21 20:20:40 +03:00
topilski e432065f3d Allow full editing of Indexes #152 (intermediate commit) 2013-07-21 20:05:15 +03:00
topilski b7c0d69068 Fix linux build 2013-07-20 16:26:54 +03:00
topilski 30a6c29d8d Code cleanup 2013-07-20 15:07:56 +03:00
topilski ea7af33bd9 Added EnsureIndexInfo class 2013-07-20 11:41:37 +03:00
schetnikovich 26781183c1 CMake Scons fix 2013-07-19 20:29:21 +03:00
Dmitry Schetnikovich 564b746dbb Merge pull request #156 from topilski/master
Check new build system of Robomongo on Mac OS X (intermediate) #153
2013-07-19 10:12:03 -07:00
topilski b3736c4c7d Merge branch 'master' of https://github.com/topilski/robomongo 2013-07-19 18:08:15 +01:00
topilski e1c6ef169d Check new build system of Robomongo on Mac OS X (intermediate) #153 2013-07-19 18:01:22 +01:00
topilski 59b5c7f843 fix scincila displaying text on linux 2013-07-19 19:26:20 +03:00
topilski bd86d730a4 fix qsciscintilla rendering text on Windows 2013-07-19 19:04:23 +03:00
Dmitry Schetnikovich c4942e3e24 Merge pull request #155 from topilski/master
Implement Ctrl + F in all editors #134

Show collection's indexes in explorer tree #74
Save button shouldn't be disabled #146
2013-07-19 05:52:29 -07:00
topilski adde1c8bce Implement Ctrl + F in all editors #134 2013-07-19 15:13:46 +03:00
topilski c27b38ee7b refactoring ScriptWidget 2013-07-19 13:56:21 +03:00
topilski 7dc22a9104 Show collection's indexes in explorer tree #74 2013-07-19 11:19:12 +03:00
topilski e078b12eda Save button shouldn't be disabled #146 2013-07-19 09:02:14 +03:00
Dmitry Schetnikovich 97703b19e0 Merge pull request #154 from topilski/master
CMake default arguments #145
2013-07-18 13:07:46 -07:00
topilski 033310a275 CMake default arguments #145 2013-07-18 23:01:07 +03:00
topilski 90e02f88bd fix linux build, add UserResponce action 2013-07-18 18:37:16 +03:00
topilski b526131185 fix hide console on Qt5 2013-07-18 16:56:26 +03:00
topilski 26c7f41797 hide console on windows,intermediate commit (Allow full editing of Indexes) #152 2013-07-18 15:59:35 +03:00
topilski af8635939b Drop Index confirmation required #149 2013-07-18 11:06:03 +03:00
topilski ada7ff48e2 For Index creation, use mongo::Robomongo::fromjson() parser, instead of QJson #150 2013-07-18 09:39:33 +03:00
schetnikovich e74e24da97 Index operations tweaks (Ensure, Drop, Rename).
1) MongoClient::ensureIndex() now accepts name of index.
  2) Name of index is used on UI (instead of key name).
  3) MongoClient::deleteIndexFromCollection() simplified.
  4) MongoClient::renameIndexFromCollection() correctly
     performs rename of Index name.
  5) MongoClient::getIndexes() now gets Index names, not key names.
  6) Minor formatting tweaks.
2013-07-18 03:15:51 +03:00
Dmitry Schetnikovich 330c1aa878 Merge pull request #148 from topilski/master
Edit Index implementation #74
2013-07-17 09:32:08 -07:00
topilski 438e4f3096 added edit index item menu 2013-07-17 19:24:21 +03:00
Dmitry Schetnikovich a389433e6a Merge pull request #147 from topilski/master
CMake architecture auto definitions fixed. Added icons to header EditIndexDialog. Replaced QTextEdit to QScincila. Checkbox isUnique() and isBackground() properties of index. Added common base class to ExplorerTreeItems. Added showContextMenuAtPos() method.
2013-07-17 06:04:35 -07:00
topilski 937c3ffab6 code cleanup, fix some little bugs 2013-07-17 15:05:52 +03:00
topilski d68f058beb added common base class to ExplorerTreeItems, added showContextMenuAtPos method 2013-07-17 11:51:21 +03:00
topilski 742442b54d fix showcontextmenu intermediate commit 2013-07-16 19:44:05 +03:00
topilski 473c657e2b start implementation of showcontextmenu for treeitems 2013-07-16 15:55:30 +03:00
topilski 2c3b9b9a5b fix count of Index displaying 2013-07-16 14:50:19 +03:00
topilski 78037d2bf0 fix CMake architecture auto definitions, added icons to header EditIndexDialog, replace QTextEdit to QScincila, fix checkbox isunique and isbackground properties of index 2013-07-16 12:08:36 +03:00
Dmitry Schetnikovich c4bc632a64 Build documentation (Linux only) #124 2013-07-15 23:36:17 +02:00
Dmitry Schetnikovich 462a63e490 Merge pull request #144 from topilski/master
View/Refresh context menu items for Indexes subcategory
2013-07-15 12:35:58 -07:00
topilski cb6829659f add refresh/view index menu items 2013-07-15 22:14:58 +03:00
Dmitry Schetnikovich ac057568e8 Merge pull request #143 from topilski/master
toUtf8() instead of toAscii()
2013-07-15 09:14:13 -07:00
topilski 045e90afb5 fix build 2013-07-15 19:12:09 +03:00
Dmitry Schetnikovich 72aeed0d73 Merge pull request #140 from topilski/master
CMake fixed according to the new requests. Implementation of Index Management started (#74)
2013-07-15 08:58:15 -07:00
topilski a74a35bdbb fix compile error 2013-07-15 18:49:19 +03:00
topilski 992932cc78 and next fix 2013-07-15 18:39:13 +03:00
topilski bdcd4897cb next fix code style 2013-07-15 18:37:51 +03:00
topilski 27bc816ba1 fix code style 2013-07-15 18:19:11 +03:00
topilski 0c0fea2c9b Show collection's indexes in explorer tree #74 2013-07-15 14:59:40 +03:00
topilski b8fed3f119 add EditIndexDialog sources 2013-07-15 12:08:29 +03:00
topilski 8d7acad6a2 add delete index implementation 2013-07-15 10:21:16 +03:00
topilski 1a314e8330 add "delete index" to menu 2013-07-14 21:27:58 +03:00
topilski 21ed7d26c5 replace tabs to space, style fixes 2013-07-14 13:40:25 +03:00
topilski c8e404fd16 Added MongoIndex sources, some refatoring 2013-07-14 12:06:52 +03:00
topilski 0cc2292be5 fix linux build 2013-07-12 19:52:19 +03:00
topilski d14526090a fix cmake according new spec 2013-07-12 18:55:49 +03:00
topilski 105525fa54 Show collection's indexes in explorer tree #74 (only displaying) 2013-07-12 15:37:54 +03:00
topilski a8fd4882b8 add index item intermediate commit 2013-07-12 10:31:21 +03:00
Dmitry Schetnikovich 1d187e13cd Update README.md 2013-07-11 22:55:20 +02:00
Dmitry Schetnikovich edd5c3813b README updated 2013-07-11 21:05:26 +02:00
Dmitry Schetnikovich b84875c6d1 Merge pull request #137 from topilski/master
Refactoring
2013-07-11 11:35:45 -07:00
topilski e43be4447c fix KeyboardManager 2013-07-11 15:39:08 +03:00
topilski 62922d0731 minor refactoring 2013-07-11 13:47:20 +03:00
topilski 37f65c8697 small clean up 2013-07-11 09:14:15 +03:00
schetnikovich 29c753d98b Platform specific icons for Save/Open actions 2013-07-09 22:34:24 +03:00
schetnikovich d035457bda Open/Save toolbar set to be not movable 2013-07-09 22:18:00 +03:00
schetnikovich 5dc4a07ecb Fix for black background color of Search Box in Insert/Edit Document Text Editor 2013-07-09 21:54:56 +03:00
schetnikovich 2b4f9b9e57 Default view mode returned back to Tree mode 2013-07-09 21:46:31 +03:00
Dmitry Schetnikovich 1702047968 Merge pull request #136 from topilski/master
Expand all children #106
2013-07-09 11:12:43 -07:00
topilski 736da106b3 expand all children #106 2013-07-09 21:04:52 +03:00
schetnikovich e79d205db5 Fixed text line height for Linux. 2013-07-09 19:02:15 +03:00
Dmitry Schetnikovich c6f07c4530 Merge pull request #135 from topilski/master
Add button to toggle line numbers #112
2013-07-09 08:37:51 -07:00
topilski a55d281527 fix openAction behavior 2013-07-09 18:34:25 +03:00
topilski 5a3ae9877d start refactoring ScriptWidget 2013-07-09 15:56:43 +03:00
topilski 74a6a67411 intermediate commit (Implement Ctrl + F in all editors) 2013-07-10 01:20:17 +03:00
topilski 5403c96328 Add button to toggle line numbers #112 2013-07-09 22:53:35 +03:00
Dmitry Schetnikovich 95f1a8d1e5 Merge pull request #130 from topilski/master
Ability to save and open script files in shell #120 & #96
2013-07-08 08:24:02 -07:00
topilski ae0d2fa8b0 refactoring GuiiRegistry 2013-07-08 16:12:03 +03:00
schetnikovich ba3ea7b27c Find text tweaks (#32)
1) Next / Previous key bindings (Enter and Shift+Enter)
  2) All find text will be selected by default
  3) QLineEdit now used, instead of QTextEdit
  4) Fix for incorrect scrolling of selected text.
     Seems this is a bug of Scintilla (see comments in the code)
  5) Minor UI tweaks (spaces added)
2013-07-05 21:07:20 +03:00
schetnikovich d36b3b1097 Minor formatting changes 2013-07-05 20:01:07 +03:00
schetnikovich 32da5c6d45 Merge branch 'master' of https://github.com/paralect/robomongo 2013-07-05 17:15:13 +03:00
schetnikovich 8f58581a1c Ignoring *.user and jswgen from SpiderMonkey 2013-07-05 17:15:05 +03:00
Dmitry Schetnikovich b0fd42ea13 Merge pull request #129 from topilski/master
Added search capability in text mode view results (#32)
2013-07-05 07:10:53 -07:00
Dmitry Schetnikovich 4ad664f0cd Merge pull request #128 from mirmasej/patch-1
robomongo.sh updated
2013-07-05 06:01:58 -07:00
mirmasej 0e5c0873cb Update robomongo.sh
Use absolute paths so the script can be run from anywhere including .desktop file.
2013-07-05 07:59:09 +02:00
schetnikovich 3f052f821e Dumb file added 2013-07-04 20:17:05 +03:00
Dmitry Schetnikovich 9cc5176e9d Merge pull request #127 from topilski/master
Build scripts for linux fixed according to the new build system
2013-07-04 10:11:38 -07:00
Alexandr bd139b97bf fix path to qscintilla 2013-07-04 20:02:50 +03:00
topilski c6dba02995 fix build script for linux 2013-07-04 19:24:17 +03:00
schetnikovich bfa08fe778 SConstruct removed from the root folder
We are using CMake, instead of SCons.
2013-07-04 18:31:47 +03:00
Dmitry Schetnikovich 4c896f1d38 Merge pull request #126 from topilski/master
CMake for Windows and Linux
2013-07-04 08:26:29 -07:00
Alexandr 9c9f661534 fix bat files for building application 2013-07-04 10:26:44 +03:00
topilski f384f45fbe Open/Save/Save As in toolbar and File menu #131 2013-07-03 22:28:34 +03:00
Alexandr e43ca35633 fix build.bat for windows 2013-07-03 22:25:01 +03:00
topilski f21af37163 add line numbers to RoboScintilla 2013-07-03 22:06:40 +03:00
topilski df6dda8c50 add open implementation on FileMenu 2013-07-03 21:09:47 +03:00
topilski 7e6af15cd9 add actions to file menu 2013-07-08 21:51:29 +03:00
Alexandr 8a12f4f4a2 fix linux build, project ready to development 2013-07-03 20:50:13 +03:00
Alexandr b6b39c862a fix windows build 2013-07-03 19:00:55 +03:00
topilski a8737c4bef Ability to save and open script files in shell #120 (implemented) 2013-07-03 17:20:31 +03:00
topilski 209c9605cc fix crash 2013-07-03 16:38:01 +03:00
topilski cef5444259 next step of clean up code 2013-07-08 10:24:12 +03:00
topilski 5666875462 some refactoring cmake files, code style fixes 2013-07-07 22:20:03 +03:00
topilski b3eb137a79 add open file implementation 2013-07-07 11:36:37 +03:00
topilski 68fac49667 add open to popup menu 2013-07-06 19:32:55 +03:00
topilski 1cf0df0097 save script intermediate commit 2013-07-06 15:20:31 +03:00
topilski f6b0a5ac50 Merge remote-tracking branch 'upstream/master'
Conflicts:
	src/robomongo/gui/editors/FindFrame.cpp
2013-07-06 08:53:41 +03:00
topilski 2c0a92955b add actions to filemenu 2013-07-05 20:03:24 +03:00
Alexandr 1269ed8aec fix install script for windows 2013-07-03 13:07:55 +03:00
Alexandr ab0ff7e4df fix prev search behavior, add icon to close button 2013-07-03 12:06:05 +03:00
Alexandr 3336aece80 added findFrame, intermediate commit (Add search capability in text mode view results) 2013-07-03 11:29:02 +03:00
Alexandr 4933112ff0 add_subdirectory for boost mongo thrid-party, fix install behavior on Windows 2013-07-03 09:19:29 +03:00
Alexandr dc55b99041 fix linux build 2013-07-03 07:23:49 +03:00
Alexandr ec9231a652 add architecture switch option 2013-07-02 21:41:30 +03:00
Alexandr 010e12fdea fix windows build 2013-07-02 14:55:43 +03:00
schetnikovich dfdf918a63 LICENSE file added 2013-06-30 21:39:12 +03:00
schetnikovich 46a40ba12f Libs folder now ignored 2013-06-30 21:32:23 +03:00
Alexandr 2255bc5cce fix linux link errors 2013-06-29 18:23:01 +03:00
Alexandr d3d4f204cc fix qjson on linux 2013-06-29 17:13:50 +03:00
Alexandr e4d77d9c87 fix qjson CMakeLists.txt 2013-07-02 09:14:16 +03:00
Alexandr bf1f1ae529 change build options to MDd for debug mode 2013-07-01 22:07:57 +03:00
Alexandr 1e62ff1b1c some updates in CMakeLists.txt 2013-07-01 16:30:30 +03:00
Alexandr d5eea82afe some build fixes, add project_helper cmake 2013-07-01 11:50:53 +03:00
topilski e1ce85b0bb fix build,add prefix and suffix for mongoclient library 2013-06-30 21:13:05 +03:00
topilski a1189083f3 fix windows build 2013-06-30 16:52:08 +03:00
topilski 3ffd95eaf9 start fixing windows build 2013-06-30 14:08:05 +03:00
Alexandr 94eac0a635 some refactoring 2013-06-29 15:41:19 +03:00
Alexandr 17a7057481 Delete not needed sources, fix build on linux 2013-06-29 12:31:42 +03:00
Alexandr 3203b29969 fix linux build 2013-06-29 09:16:29 +03:00
Alexandr 87c7e9c008 add cmake inner files 2013-06-28 21:37:31 +03:00
Alexandr c41ec75cfd add cmake files 2013-06-28 21:34:30 +03:00
schetnikovich c927c09efc Robomongo ported to Qt 5 #46
Qt 5 is now required. Robomongo will not compile for Qt 4.

Only Linux version now known to be compiled with Qt 5.
Windows and Mac OS are need to be verified.
2013-06-19 23:51:36 +03:00
schetnikovich 3e09a7f1e1 QJson now compiled with qmake (instead of cmake). Scons script update to automate build/clean/rebuild tasks of QJson 2013-06-19 19:13:05 +03:00
schetnikovich 19ebabfa4e QScintilla and QJson now part of the source (as third-parties) 2013-06-18 20:12:43 +03:00
schetnikovich 494bd677ef MongoDB now part of sources (as third-party) and Scons will be used to build Robomongo
MongoDB sources now located in /src/third-party/mongodb. SConstruct file added that
will be used to automate build process.
2013-06-18 00:36:16 +03:00
Dmitry Schetnikovich a98a7fbf9e Merge pull request #114 from luketn/master
Persist the view mode setting
2013-06-10 09:05:13 -07:00
Luke Thompson b68113142e Persist the view mode setting. 2013-06-09 21:42:40 +10:00
Dmitry Schetnikovich b2123665bf Merge pull request #109 from Gavruk/master
#90: Collection starting with underscore cannot be browsed
2013-06-01 08:29:40 -07:00
Sergey Gavruk b5035f0cf3 fix for #90 2013-06-01 18:12:18 +03:00
Dmitry Schetnikovich 693b875c2d Merge pull request #110 from Gavruk/autocomplete-tab
#95: autocomplete on tab
2013-06-01 07:55:49 -07:00
Sergey Gavruk 434e8a9aa0 #95: autocomplete on tab 2013-06-01 16:35:39 +03:00
5540 changed files with 675411 additions and 860584 deletions
+95 -5
View File
@@ -1,10 +1,100 @@
# Ignore *.pro.user files
*.pro.user
*.pro.user.*
# Robomongo-specific
CMakeLists.txt.user*
.sconsign.dblite
.sconf_temp
.scons
*.kate-swp
*.swp
target/
*~
*.autosave
target-debug/
target-release/
libs/
/build
/build2
/src/robomongo/robomongo.pro.user.1.3
.idea/
# Created by http://www.gitignore.io
### C++ ###
# Compiled Object files
*.slo
*.lo
*.o
*.obj
# Compiled Dynamic libraries
*.so
*.so.*
*.dylib
*.dll
# Compiled Static libraries
*.lai
*.la
*.a
*.lib
# Executables
*.exe
*.out
*.app
### Linux ###
*~
# KDE directory preferences
.directory
### OSX ###
.DS_Store
.AppleDouble
.LSOverride
### Qt ###
# C++ objects and libs
*.slo
*.lo
*.o
*.a
*.la
*.lai
*.so
*.dll
*.dylib
# Qt-es
/.qmake.cache
/.qmake.stash
*.pro.user
*.pro.user.*
*.moc
# QtCreator
*.autosave
*.creator.user
### Windows ###
# Windows image file caches
Thumbs.db
ehthumbs.db
# Folder config file
Desktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
.vscode/settings.json
.vs/
+16
View File
@@ -0,0 +1,16 @@
os:
- linux
# - osx
# - windows
dist: xenial
sudo: require
language: cpp
script:
- bash bin/clean
- bash bin/configure
# - bash bin/build
# - bash bin/run-unit-tests
# end of file
+664
View File
@@ -0,0 +1,664 @@
Download latest version:
https://robomongo.org/download
Robo 3T 1.4.4 (Aug/2021)
New Features:
- Support for Standard Connection String Format (Mongo URI)
Fixes:
- Fix Welcome Tab not loading the new content issue by disable/bypass HTTP cache
Robo 3T 1.4.3 (Jan/2021)
New Features:
- macOS Big Sur support
- New Welcome Tab - embeds Chromium using QtWebEngine (Windows, macOS only)
- Database explorer section has smaller default width (#1556)
- Remember size of database explorer section
- Import keys from old version: autoExpand, lineNumbers, debugMode and shellTimeoutSec
Fixes:
- Disable unsupported SSH tab for replica set connections (#1285 #1340)
- Fix crash when new shell tab executed in server unreachable case
- Fix crash when paging used in tabbed result window (#1661)
- Fix broken F2, F3, F4 shortcuts for tabbed result view
- One time re-order limit per new connections window to prevent data loss (macOS, #1790)
- Fix previously broken IPv6 support from command line: robo3t --ipv6
Robo 3T 1.4.2 (Oct/2020)
Fixes:
- Fix broken paging in DocumentDB (#1694)
Robo 3T 1.4.1 (Sep/2020)
Fixes:
- Force light mode on macOS (#1761, #1768, #1771)
- Fix broken macOS native theme/look (#1766)
- Fix broken Windows native theme/look
Robo 3T 1.4.0 (Aug/2020)
blog.robomongo.org/robo-3t-1-4/
New Features:
- Mongo shell 4.2 upgrade
- Support for Ubuntu 20.04 and macOS 10.15 (Catalina)
- SSH: ECDSA and Ed25519 keys support on Windows & macOS (#1719, #1530, #1590)
- Manually specify visible databases (#1696, #1368, #389)
Improvements:
- Qt Upgrade (v5.12.8 - Apr/2020, Windows & macOS only)
- OpenSSL upgrade (v1.1.1f - Mar/2020, Windows & macOS only)
- libssh2 upgrade (v1.9.0 - Jun/2019, Windows & macOS only)
Fixes:
- Authentication database option isn't used properly (#1696)
- Add/Edit index ops fixed (re-written) (#1692)
- Crash when expanding admin users (#1728)
- Unable to run query after shell timeout reached (#1529)
Robo 3T 1.3.1 (Apr, 2019)
http://blog.robomongo.org/robo-3t-1-3
New Features:
- Biggest change in this version is Mongo Shell version upgrade from 3.4 to 4.0.5.
- Support for importing from DNS SRV based MongoDB connection strings
- Query results windows now supports tabbed output #1591 #1403
- Adding support for SCRAM-SHA-256 auth mechanism #1569
- Support for Ubuntu 18.04 and Mac 10.14.
- Support for creating version 4 UUID #1554
Improvements:
- Encrypted passwords are used in config. file instead of clear text passwords
- Showing much better error reason string from Mongo drivers for connection failures
Fixes:
- Broken create/edit/view user features fixed and updated #638 #1041
- Attempt to fix #1547: Crash when right click on existing results plus a new long running query
- Fix for application crash when adding index with invalid JSON
- 'Repair Database' in Robo3T needs a confirm dialog box #1568
- Robo 3T the input space causes connection failure #1551
- Crash when loading results + right click #1547
- Attempt to fix major connection problems seen with the second edit/add/remove document operation after MongoDB 4.0 upgrade #1603
- Attempt to fix #1581: For CRUD ops showing progress bar and disabling context menu while waiting for edit op to finish
- Fixing UI issue where Functions folder freezing with "Functions..." when fails to refresh
- Fix for #1529: Pagination does not work when the aggregation queries have dotted fields
Robo 3T 1.3.0 Beta (16 Feb, 2019)
Details: https://github.com/Studio3T/robomongo/releases/tag/v1.3.0-beta
Robo 3T 1.2.1 (19 Feb, 2018)
http://blog.robomongo.org/robo-3t-1-2
Fixes:
- Aggregate query results are not pagaeble
- Big double numbers are showing incorrectly #1447
- Editing a document from a projection causes data loss (override) (#881)
- Error: Resources temporarily unavailable. Error when starting up SSH session: -8 #1426
- robo3t 1.1 failed to start on Ubuntu 17.04 #1385
- Robo 3T is not opening on MacOS High Sierra (#1412)
- Cannot load list of indexes #1454
- Robo 3T is not buildable on latest MacOS High Sierra
Improvements
- Qt version upgraded from Qt 5.7.0 to Qt 5.9.3
- Auto switch to HTTP from HTTPS if the program crashes due to HTTPS related operations
- Improvements for Robo 3T is crashing constantly on High Sierra #1412
- PR: Improved query time formatting (#1358) #1455
Robo 3T 1.2.0 Beta (18 Dec, 2017)
https://github.com/Studio3T/robomongo/releases/tag/v1.2.0-beta
Improvements & Fixes:
- Qt version upgraded from Qt 5.7.0 to Qt 5.9.3
- Fix for "Cannot load list of indexes #1454"
- Improvements for Robo 3T is crashing constantly on High Sierra #1412
- PR: Improved query time formatting (#1358) #1455
- Fix for "Robo 3T is not buildable on latest MacOS vesion High Sierra"
- Fix attempt for "Error: Resources temporarily unavailable. Error when starting up SSH session: -8 #1426"
- Fix for "robo3t 1.1 failed to start on Ubuntu 17.04 #1385"
Robo 3T 1.1 (13 June, 2017)
http://blog.robomongo.org/robomongo-1-1/
New Features:
- MongoDB 3.4 support
- New NumberDecimal (Decimal128) data type support
- ECMAScript 2015 aka ES6 Support (Modernized JavaScript Implementation)
- Re-naming from Robomongo to Robo 3T
Improvements & Fixes:
- Stability Improvements: Fix included to prevent a crash on MACOS Sierra
- Shell timeout is configurable on UI now 'Options->Change Shell Timeout'
- Fix for Robomongo Shell Timeout Issue (silently, prematurely finishing long lasting scripts)
- Security Improvements: OpenSSL version upgrade to openssl-1.0.1u (22-Sep-2016)
- Tool chain upgrades: Modern C++14 features are enabled and usable for developers
Robomongo 1.1 Beta (12 May, 2017)
https://github.com/Studio3T/robomongo/releases/tag/v1.1.0-beta
New Features:
- MongoDB 3.4 Support
- New NumberDecimal (Decimal128) data type support
- ECMAScript 2015 (Modernized JavaScript Implementation aka ES6) Support
Improvements:
- Security Improvements: OpenSSL version upgrade to openssl-1.0.1u (22-Sep-2016)
- Tool Chain Improvements: Modern C++14 features are enabled
Robomongo 1.0 (21 Apr, 2017)
http://blog.robomongo.org/robomongo-1-0
New Features:
- Update Notifications Bar
- Welcome Tab
- Welcome Wizard
Improvements:
- Replica set name configurable on UI
- Configuration file system location change
- "About Robomongo" dialog changes
Fixes:
- Fix to avoid the same set name problem (https://github.com/Studio3T/robomongo/issues/1302)
- Timestamp value is represented incorrectly (https://github.com/Studio3T/robomongo/issues/1159)
- Local Timezone shows wrong date (https://github.com/Studio3T/robomongo/issues/501)
- Time zone shown as "000:00" when UTC +00:00 is used as local timezone(https://github.com/Studio3T/robomongo/issues/1309)
Robomongo 1.0-RC1 (1 Feb, 2017)
http://blog.robomongo.org/robomongo-1-rc1/
New Features:
- Replica set support.
- New 'Attributes' column in connections list window showing connection properties such as 'Replica Set', 'SSL' and 'SSH'.
- New operation logging for almost all operations.
Improvements:
- Improved error handling (no double error windows) for all fail and success conditions for the following operations:
. Create, Drop Database
. Create, Edit User
. Create, Drop, Duplicate, Rename Collection
. Insert Document
. Remove document, Delete document, Remove all documents (triggered both from explorer and from result widget)
. Refresh Users
. Refresh Functions
. Refresh Collections
. Connection establish & refresh server fail and success cases.
- Windows size is saved and restored for Edit, View and Insert Document dialogs.
- Connections are automatically imported from the latest Robomongo version.
- Better error reporting/handling and logging have been added for the operations below:
. Create, Drop Function
. Drop User
- More informative and adjusted log level prefix strings haven added for log window. (Error, Warn, Info etc..).
- After a new connection is created, now the focus goes to the newly created connection (end of list) instead of the
beginning of connections list. And when Robomongo is opened, the focus goes to the end of the connection list instead
of beginning.
- Error messages added and error handling for 'remove document', 'remove all documents' operations triggered explorer
and single or multi 'delete document' from results window have been re-implemented and improved.
- Relevant errors are shown for the following cases now:
. Drop attempt of non-existing collection.
. Duplicating a collection with a collection name which already exists finishes silently.
Fixes:
- Fix for the problem where the connections list comes empty if the Robomongo config file or it's directory do not exist.
- Fix for the problem where 'in-progress bar' widget was not centered on main window for "Update Documents/Remove Documents"
operations. https://github.com/paralect/robomongo/issues/1256
- Fix for two problems where the operations 'insert or update documents' in one tab was causing auto reloading of other
unrelated tabs and also multiple error windows to popup. https://github.com/paralect/robomongo/issues/1236
- Fix for the problem where the operations 'remove document', 'remove all documents' triggered explorer and single or
multi 'delete document' from results window were causing auto reloading of other unrelated tabs.
Robomongo 0.9:
Major Features:
- Support for MongoDB 3.x and WiredTiger engine. Robomongo now embeds MongoDB 3.2 shell.
(Ability to use the latest shell functionality)
- SSH tunnel support for connections
- SSL support
- MongoDB Atlas (Cloud MongoDB) support
- Both MONGODB-CR and SCRAM-SHA-1 authentication mechanisms are supported.
- Allow direct connections to Replica Set members and support IPv6 protocol.
- Loading of huge list of collections is now faster.
- Create Collection dialog is now expandable to support all advanced options.
(Supporting all major mongoDB versions 3.2, 3.0, 2.6 and all storage engine types (WiredTiger
and MMAPV1) is added.)
- Windows High DPI support.
- Full size editor with dockable output window.
Fixed:
- Incorrect representation of floating-point numbers (fixed since RC3). This bug was a reason of a big number of issues:
#910, #748, #697, #699, #760, #815, #870, #892,
#894, #905, #945, #974, #978, #990, #831, #842
- SSH connection failure to servers on Ubuntu and OS X with the following error:
"Resource temporarily unavailable. Error when starting up SSH session: -8" (#1090)
What's new in 0.9.0 Final (30 Sep, 2016)
http://blog.robomongo.org/robomongo-0-9-0-final/
New Features:
- Full size editor with dockable output window.
- New JSON object context menu items: "Copy Name" and "Copy Path" are added.
- New database context menu items: "Current Operations" and "Kill Operation" are added.
- Minimize to Tray Icon for Windows.
Other Changes
- Cloud platforms Compose, mLab and Amazon EC2 were tested and added as supported platforms.
- Maximize/Restore result button behavior and icon have been improved.
- For better code quality and code reviews, Robomongo Code Quality and Robomongo Code Review pages have been created.
https://github.com/paralect/robomongo/wiki/Robomongo-Code-Review
https://github.com/paralect/robomongo/wiki/Robomongo-Code-Quality
What's new in RC10 (Aug 8, 2016)
http://blog.robomongo.org/robomongo-rc10/
New Features:
- SSL connections with advanced options are now supported.
- MongoDB Atlas (Cloud MongoDB) is supported.
- Cross Platform High DPI enhancements.
Enhancements:
- For better security, OpenSSL has been upgraded to OpenSSL 1.0.1p.
- Qt has been updated from Qt 5.5 to latest Qt 5.7. With this update there are many
enhancements including cross platform High DPI support.
What's new in RC9 (May 30, 2016)
http://blog.robomongo.org/robomongo-rc9/
New Features:
- Create Collection dialog with advanced options.
- New feature has been added to save/restore window sizes. (#1102)
- Connection settings from previous versions of Robomongo are
now automatically imported starting from Robomongo 0.9.0 RC9. (#1086)
- Support for querying documents by UUIDs is added, both in legacy and new encoding. (#432)
Fixed:
- SSH connection failure to servers on Ubuntu and OS X with the following error:
"Resource temporarily unavailable. Error when starting up SSH session: -8" (#1090)
- Correct handling of create/drop of databases and collections. (#1083)
What's new in RC8 (April 14, 2016)
http://blog.robomongo.org/robomongo-rc8/
What's new in RC7 (March 4, 2016)
http://blog.robomongo.org/robomongo-rc7
What's new in RC6 (February 13, 2016)
http://blog.robomongo.org/ipv6-protocol
What's new in RC5 (February 8, 2016)
http://blog.robomongo.org/campaign-is-over-robomongo-is-not/
What's new in RC4 (February 1, 2016)
http://blog.robomongo.org/robomongo-rc4
What's new in RC3 (January 29, 2016)
http://blog.robomongo.org/robomongo-0-9-0-rc3-released
What's new in RC2 (January 26, 2016)
http://blog.robomongo.org/robomongo-rc2-for-windows-mac-os-x-and-linux
What's new in RC1 (January 17, 2016)
http://blog.robomongo.org/robomongo-rc1-with-full-support-for-mongodb-3
0.8.5 / March 10, 2015
Release 0.8.5 is now deprecated because of a critical bug, that is
described here: http://blog.robomongo.org/robomongo-0-9-0-rc3-released
We recommend to use Robomongo 0.9.0 or newer.
* [Stephen Steneker]
- OS X build fixes for XCode 5 / libc++ (#524)
- OS X specific keyboard shortcut tips (#505)
- View documents fail if collection name is "group" (#414)
- Problem with slash in collection names (#404)
- Add shortcut to open JS file (#408)
- Fullscreen mode not working on OS X (#519)
- Usability request - add initial curly braces to command bar (#506)
- TTL index should allow expiry of 0 seconds (#500)
- Add line numbers to JSON editing windows on OS X (#449)
- Add user preference to have line numbers displayed by default (#564)
- Space after document causes validation error (#544)
- Expand current server as soon as you connect to it (#405)
- Switching tabs using standard keys on OS X (#87)
- Cannot make the Edit Document Window smaller (#548)
- Consistent numbering for tree/table/text view items (#421)
- Reload Query with keyboard shortcut doesn't work (#551)
- Rename "Reload" to "Re-execute query" (#447)
- Add "Copy Timestamp from ObjectId" to context menu for ObjectId fields (#559)
- Bug: Type of Double changed to Int32 on save document (#622)
- "Duplicate Query In New Tab": add to Window menu with keyboard shortcut (#631)
- No errors logged if settings directory cannot be created or settings file cannot be written to (#636)
- Show execution time for operations that don't return results (#455)
- Disable broken "Copy Collection to Database" misfeature (#398)
* [Vladimir Belozyorov]
- View mode reset to default after no results (#509)
- Comment / uncomment selected code in the shell (#467)
- Passphrase and password should be hidden in authentication tab (#433)
- Cursor initialization - place between curly brackets for default find({}) query (#592)
- Include full date/time for log entries (#596)
- Option to disable selected code autoexecution when opening a new tab (#514)
- Tooltip fixes to match current keyboard shortcuts (#598)
- Expand/collapse multiple selections (#591)
- Changes in toolbars visibility are saved in config file (#457)
- Include connection name under shell tabs (#47)
* [Sergey Gavruk]
- SettingsManager typo (#558)
- Ability to disable autocompletion (#512)
* [Kanstantsin Kamkou]
- Increase display width for limit & offset input fields (#458)
* [volans-]
- CreateUserDialog.cpp: fixed typo in warning message
* [Andres Kievsky]
- Added new app icon in a variety of png and iDraw formats (#693)
* [Michael Steinacher]
- Retina text display support (#724)
0.8.4 / November 27, 2013
Read about updates in this version here:
http://robomongo.org/whats-new-in/robomongo-0.8.4.html
RC1:
* SSH support (#117)
* SSL support (first steps) (#100)
* Create or edit index problem (#341)
* Regexp error (with non-latin symbols) (#351)
* Support for latin characters in edit document console (#347)
* Robomongo fails to execute shell "comments" if the comment contains a non-latin character! (#334)
* Crash when add ISODate field (#350)
* Crash at executing several disconnections in a row (#290)
* Deleting multiple documents prompts for each document (#386)
* Connection context menu appears independently of position of Robomongo instance.
* Crash at pressing "Ctrl+T" without any connection.
RC2:
* SSH now works on Mac OS X Mavericks (#401)
* Fixed crash when parsing date (#356)
Final:
* Selected view mode of result panels now preserved between executions. Implemented by Vladimir Belozyorov (github.com/VBelozyorov) (#402)
0.8.3 / October 1, 2013
Read about updates in this version here:
http://robomongo.org/whats-new-in/robomongo-0.8.3.html
* Enable query logging (#108)
* Inserting multiple documents from UI (#173)
* Removing multiple documents from UI (#174)
* Retain current view mode when running search (#93, #79)
* Left panel collections/functions/users navigation doesn't work when authenticating against the DB (#282)
* A way to disable Alt + number shortcut (#192)
* Support mongodb 2.4.x style users (#139)
* Add "Copy JSON" menu item to context menu (#298)
* JSON list validation (#246)
* Crash creating new Database (#291)
* Incorrect handling of TTL Indexes (#313)
* Add the document _id in the tree view (#142)
* BSON Undefined type doesn't rendered to string correctly (#306)
* Entering incorrect symbols as database name isn't handled properly (#262)
* Ability to select UI theme
* We now show number of fields (inside objects) and number of items (inside arrays) in Tree View.
* Support for Mac OS X 10.6 (#287)
* Support for Mac OS X 10.9 (#254)
0.8.2 / September 13, 2013
Read about updates in this version here:
http://robomongo.org/whats-new-in/robomongo-0.8.2.html
0.8.1 / September 6, 2013
Read about updates in this version here:
http://robomongo.org/whats-new-in/robomongo-0.8.1.html
* Table Mode (in this version, only for the first-level fields in documents) (#72)
* Paging Widget tweaks (#247, #203, #244, #243)
* ~/.robomongorc.js file is loaded automatically when new shell is opened
(c:\Users\Name\.robomongorc.js for Windows)
* "Load .mongorc.js" menu item in "Options" top-level now allow to enable/disable loading
of ~/.mongorc.js file. By default it will not load this file.
* Batch Size now configurable (in this version only manually via ~/.config/robomongo.json)
* JSON parser doesn't correctly parse numbers when locale isn't en_EN (#246, #253)
* "Display Dates In" options doesn't saved/loaded correctly (#261)
* [Linux] Support for CentOS
* [Linux] Linux packages now takes 2x less space (10mb instead of 20mb)
* [Windows] Desktop icon isn't created despite corresponding checkbox was checked at installation. (#260)
* [Windows] Invalid symbols in installer for Windows if display language of system isn't English (#259)
0.8.0 / August 23, 2013
Read about updates in this version here:
http://robomongo.org/whats-new-in/robomongo-0.8.0.html
* Ability to save and load files for currently opened shell (#96)
* MongoDB Index management (#74)
* Expand all children recursively (#106)
* Ability to toggle line numbers (press F11) for any editor in Robomongo (#112)
* View Mode settings is persisted now (thanks, Luke Thompson!) (#114)
* Search capability for any editor in Robomongo - press (Ctrl + F) (#32)
* Timezone support: UTC or Local (#224)
* Auto-complete on "Tab" (#95)
* Fixed incorrect handling of Dates (#111)
* Fixed incorrect handling of collections with leading underscore (_) symbol (#109)
* Fixed incorrect rendering of float numbers (#115)
* Fixed incorrect handling of Int64 numbers (#157)
* Fixed incorrect parsing of DBRef sub-objects (#113)
* New build system, based on CMake. Greatly simplified build and package process.
* Qt updated to 5.1 version.
* QScintilla updated to 2.7.2 version.
0.7.1 / April 13, 2013
* Fixed crash when right-clicking on non-primitive elements in Tree View (#85)
* Alt + Cmd + Arrow for switching tabs on Mac (#82)
* Several minor bugs fixed (including #82)
0.7.0 / April 4, 2013
* Support for UUIDs (read more: http://robomongo.org/articles/uuids.html)
0.6.9 / April 3, 2013
* Password is hidden by default (#65)
* Fixed incorrect rendering of large values for the db.stats() results (#70)
* Collection names with invalid (for JS var name) characters now rendered correctly (#71)
0.6.8 / April 1, 2013
* Support for '~/.mongorc.js'
* Various Mac OS X UI fixes
* Fixed crash when pressing Ctrl + W (#60)
* "Copy Value" context menu item for documents in Tree View
0.6.7 / March 26, 2013
* Fixed creation of new tabs based on the current one. Before this fix initial
database for new tab wasn't identical to the "parent". (#56)
* Support for collections that starts from digits (#54)
* [Sergey Gavruk] Duplicate Collection feature (Collection -> Duplicate Collection
* Collection -> Reindex will not run immediately, as before
* Fixed incorrect disposing of tabs resources (connections etc.) (#42)
* [Stephen Steneker] Fixed KeepAlive invalid commands, when not authorised (#41)
* [Sergey Gavruk] Various Mac OS X UI fixes.
0.6.6 / March 23, 2013
* Fixed possible crash when viewing results in text mode (#34)
* Fixed possible crash when testing connection (Diagnostic window)
* Memory leak in explorer's database tree fixed.
0.6.5 / March 17, 2013
* Fixed "Dropped connection" issue (#28).
* Windows Installer now be used to destribute Robomongo.
0.6.4 / March 10, 2013
* Support for JS functions. Create/Edit/Remove/View.
* Loading indicators (three dots for now) for Server, Collections, Functions and Users.
* Count indicators for Server (number of databases), Collections, Functions and Users.
* No need to type "functionName.toString()". You can output source of function
by simply typing its name (like in the shell).
* Support for RegEx, Code and CodeWScope bson elements. But you still cannot edit
documents which contains Code or CodeWScope bson elements.
* About dialog added.
0.6.3 / March 5, 2013
* Script execution can be stopped (this works only for JS code in SpiderMonkey VM) (#23)
* Toolbar buttons shown only if needed (#21, #20)
* MongoDB Connections window opens when application starts.
* Some changes in menu items locations (#25, #26)
* View Mode buttons moved to Options menu.
* Full Screen and Logs functionality hidden right now (postponed for versions after Robomongo 1.0)
0.6.2 / March 4, 2013
* "Users" folder now shows list of users.
* User can be added (Database -> Add User)
* User can be edited (User -> Edit User)
* User can be removed (User -> Remove Users)
* Users can be refreshed (Users (folder) -> Refresh Users)
* List of users can be viewed in the shell (Users (folder) -> View Users)
0.6.1 / March 2, 2013
* Minor script editor and viewer tweaks
0.6.0 / Feb 28, 2013
* Database can be created from UI (Server -> Create Database)
* Database can be dropped from UI (Database -> Drop Database)
* Collection can be created from UI (Database -> Create Collection)
* Collection can be dropped from UI (Collection -> Drop Collection)
* Collection can be renamed from UI (Collection -> Rename Collection)
* All documents can be removed from UI (Collection -> Remove All Documents)
* Minor tweaks in naming of context menu items.
0.5.7 / Feb 27, 2013
* Support for Custom View Modes. First custom view implemented for "db.printCollectionStats()" query. You
still can view multiple output results, even if one of them presented in custom mode.
* "Show Log" context menu item for servers in Explorer.
0.5.6 / Feb 26, 2013
* Support for one-line MongoDB commands ("show dbs", "show collection", "use somedb" etc.). This commands can
be repearted (this will result in multiple output results) or they can be used together with ordinary JavaScript.
The only rule: this command should be the only text on the line, starting from the very beginning of the line.
* Refresh of databases and collections via "Refresh" context menu item.
* This version of Robomongo is the first version compiled in release mode. It works much more faster and uses lower
amount of memory.
0.5.5 / Feb 22, 2013
* New document can be added in a more user friendly way. There are two ways to do it:
1) Right-click on collection in Explorer and select "Insert Document"
2) Right-click at any place of Tree View and select "Insert Document"
* Better formatting of JSON with correct indention.
* Support for ISODate(...) factory function in JSON parser and builder. Date in JSON mode now always
displayed as ISODate(...), like in the shell. Document Editor accepts dates in two forms:
as "new Date(<millisecs>)" and "ISODate(<iso_8601_date_string>)" (this behaviour identical to MongoDB shell behaviour)
* Document editor implemented. Right-click on document in Tree View and select "Edit".
* Document viwer implemented. Right-click on document in Tree View and select "View".
* You can delete selected document in Tree View. (Right-click and select "Delete")
* Validation of JSON in Document Editor/Viewer with error report, highlighting of errors and
cursor positioning just where error is.
* Fixed problem with "signed" dates (dates before Unix Epoch) (#5)
* Fixed problem with UTF-8 (#17)
* Fixed problem with loading indicator in Explorer (#18)
0.5.2 / Jan 26, 2013
In this version autocompletion in Robomongo becomes mostly usable.
* AutoCompletion box now placed just near text you typed (in correct line and column)
* AutoCompletion now works in the middle of the text (not only at the end of line, as before)
* Ctrl + Space will trigger autocompletion for symbols under cursor.
* If you select function in autocompletion box, their open parenthesis will overwrite existing in the text, if such available.
0.5.1 / Jan 24, 2013
* Several autocompletion tweaks.
0.5.0 / Jan 24, 2013
* AutoCompletion. First version.
* Progress indicator for shells.
* Shell result panels now have equal size, if this is possible.
* Code cleanuped a bit.
0.4.6 / Jan 11, 2013
* Tooltip for collections with count and size.
0.4.5 / Jan 8, 2013
* WARNING: configuration file schema changed. Some properties will be
empty in Connection Settings Dialog. Please fill them again.
* Connection test (diagnostic) implemented.
* Indicators in the shell: current server, database and collection (if available)
This indicators are "real" - they respect your actual query.
* Execution time measurement. Displayed for each individual output result.
* Paging for each output result with respect to filtering, ordering, fields,
limit, skip etc. of actual text query (pilot version).
* Connection cloning support in Connections Dialog.
* Databases and collections now displayed in sorted order.
* Batch size extended to 50 documents.
* New shape of Shells.
* New shape of Connection Settings Dialog
* New shape of Connections Dialog.
0.4.0 / Dec 26, 2012
* No more "type 'it' for more results" when we have more than 20 objects in collection.
* Two global modes added - text and tree modes. Switch between them using F3 and F4.
* Two local modes added - text and tree modes. Switch between them using small
icons on Output panels for each resultset.
* Improved performance of json creation (from list of documents).
* Tooltips for tool buttons added.
* Maximization of output panel implemented (via small icon at the top right of output panel)
Click second time to restore back.
* Fix for not working Ctrl-O key shortcut (that opens Connections menu).
0.3.5 / Dec 25, 2012
* Context menu for server, database and collection.
* Tab management (Ctrl+Tab, Ctrl+Shift+Tab, Ctrl+T, Ctrl+F4)
* Context menu for tab
* Submenu for Connect button with connections.
* Hotkeys for first 9 connections (Alt+1, ..., Alt+9)
* Connections reordering via drag'n'drop in Connections dialog.
* Correct focus placement when opening new connection and switching tabs.
* Bonus: F12 - opens connections menu from any place.
* Memory leaks fix.
+71
View File
@@ -0,0 +1,71 @@
cmake_minimum_required(VERSION 3.8.0)
project(Robomongo)
# Where to look first for CMake modules, before "${CMAKE_ROOT}/Modules" is checked
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake")
# Project version
set(PROJECT_VERSION_MAJOR "1")
set(PROJECT_VERSION_MINOR "4")
set(PROJECT_VERSION_PATCH "4")
set(PROJECT_VERSION_BUILD "")
set(PROJECT_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}${PROJECT_VERSION_BUILD}")
# Enable C++17 features
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# Modules
include(RobomongoPrintUtils)
include(RobomongoCMakeDefaults)
include(RobomongoDefaults)
include(RobomongoCommon)
include(RobomongoTrashSymbols)
include(RobomongoTargetArch)
include(RobomongoInstallQt)
include(RobomongoPackage)
# Search for dependencies
find_package(Threading REQUIRED) # Wrapper arround CMake "Threads" module
find_package(Qt5Core REQUIRED)
find_package(Qt5Gui REQUIRED)
find_package(Qt5Widgets REQUIRED)
find_package(Qt5PrintSupport REQUIRED)
find_package(Qt5Network REQUIRED)
find_package(Qt5Xml REQUIRED)
if(NOT SYSTEM_LINUX)
find_package(Qt5WebEngineWidgets REQUIRED)
endif()
find_package(MongoDB REQUIRED)
find_package(OpenSSL REQUIRED)
if (SYSTEM_MACOSX)
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.14)
find_package(Qt5MacExtras REQUIRED)
endif()
# Projects
set(LIBSSH2_VERSION 1.9.0)
if(SYSTEM_LINUX)
set(LIBSSH2_VERSION 1.7.0)
endif()
set(LIBSSH2_DIR src/third-party/libssh2-${LIBSSH2_VERSION})
set(QJSON_VERSION 0.8.1)
set(QJSON_DIR src/third-party/qjson-${QJSON_VERSION})
set(QSCINTILLA_VERSION 2.8.4)
set(QSCINTILLA_DIR src/third-party/qscintilla-${QSCINTILLA_VERSION})
set(ESPRIMA_VERSION 2.7.3)
set(ESPRIMA_DIR src/third-party/esprima-${ESPRIMA_VERSION})
# todo: Use equivalent vars from googletest cmake files. Currently they are somehow not working.
set(GOOGLE_TEST_VERSION 1.8.1)
set(GOOGLE_TEST_DIR src/third-party/googletest-${GOOGLE_TEST_VERSION})
add_subdirectory(${LIBSSH2_DIR})
add_subdirectory(src/robomongo/ssh)
add_subdirectory(${QJSON_DIR})
add_subdirectory(${QSCINTILLA_DIR})
add_subdirectory(${GOOGLE_TEST_DIR})
add_subdirectory(src/robomongo)
add_subdirectory(src/robomongo-unit-tests)
# Show configuration summary
include(RobomongoConfigurationSummary)
+11
View File
@@ -0,0 +1,11 @@
Robo 3T, shell-centric cross-platform MongoDB management tool.
Copyright 2014-2017 3T Software Labs Ltd.
The Robo 3T is released under the terms of the GNU General Public
License, version 3.
The Robo 3T Project includes files written by third parties
and used with permission or subject to their respective license
agreements.
+3
View File
@@ -0,0 +1,3 @@
Robo 3T is a shell-centric cross-platform open source MongoDB management
tool (i.e. Admin GUI). Robomongo embeds the same JavaScript engine that
powers MongoDB's mongo shell.
+24
View File
@@ -0,0 +1,24 @@
FROM debian
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update \
&& apt-get install -y --no-install-recommends --fix-missing\
libgl-dev \
qt5dxcb-plugin \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/
ADD https://download-test.robomongo.org/linux/robo3t-1.3.1-linux-x86_64-7419c406.tar.gz /opt/robo3t.tar.gz
RUN cd /opt/ \
&& mkdir robo3t \
&& tar -C /opt/robo3t --strip-components 1 -xzf robo3t.tar.gz && rm robo3t.tar.gz \
&& ls /opt/robo3t
VOLUME /root/.3T
VOLUME /root/.config/3T
RUN apt update && apt upgrade -y && apt autoremove -y
RUN apt install openssh-client -y
CMD /opt/robo3t/bin/robo3t
+674
View File
@@ -0,0 +1,674 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+136 -52
View File
@@ -1,63 +1,147 @@
Robomongo
=========
Robomongo &mdash; is a shell-centric crossplatform MongoDB management tool. <br />
Visit our site: [www.robomongo.org](http://www.robomongo.org)
About Robo 3T
===============
[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.
The latest stable release **Robo 3T 1.4** embeds **MongoDB 4.2** shell.
Blog: http://blog.robomongo.org/robo-3t-1-4/
Download: https://robomongo.org/download
All Releases: https://github.com/Studio3T/robomongo/releases
Watch: [Robo 3T Youtube channel](https://www.youtube.com/channel/UCM_7WAseRWeeiBikExppstA)
Follow: https://twitter.com/Robomongo
**Embedded MongoDB shell history:**
Robo 3T 1.4 -> MongoDB 4.2
Robo 3T 1.3 -> MongoDB 4.0
Robo 3T 1.1 -> MongoDB 3.4
Robo 3T 0.9 -> MongoDB 3.2
Robo 3T 0.8.x -> MongoDB 2.4.0
\* [Robomongo has been acquired by 3T](https://studio3t.com/press/3t-software-labs-acquires-robomongo-the-most-widely-used-mongodb-tool/)
What's new in latest Robo 3T 1.4?
====================================
New Features:
- Mongo shell 4.2 upgrade
- Support for Ubuntu 20.04, macOS Big Sur and macOS 10.15 (Catalina)
- SSH: ECDSA and Ed25519 keys support on Windows & macOS (issues #1719, #1530, #1590)
- Manually specify visible databases (issues #1696, #1368, #389)
- New Welcome Tab - embeds Chromium using QtWebEngine (Windows, macOS only)
- Import keys from old version: autoExpand, lineNumbers, debugMode and shellTimeoutSec
Improvements:
- Qt Upgrade (v5.12.8 - Apr/2020, Windows & macOS only)
- OpenSSL upgrade (v1.1.1f - Mar/2020, Windows & macOS only)
- libssh2 upgrade (v1.9.0 - Jun/2019, Windows & macOS only)
- Database explorer section has smaller default width (#1556)
- Remember database explorer section size
Fixes:
- Fix previously broken IPv6 support from command line: robo3t --ipv6
- Fix crash when paging used in tabbed result window (#1661)
- Fix broken paging in DocumentDB (#1694)
- Authentication database option isn't used properly (#1696)
- Add/Edit index ops fixed (re-written) (#1692)
- Crash when expanding admin users (#1728)
- Unable to run query after shell timeout reached (#1529)
- Fix broken F2, F3, F4 shortcuts for tabbed result view
- One time re-order limit per new connections window to prevent data loss (macOS, #1790)
- Fix crash when new shell tab executed in server unreachable case
Supported Platforms
===============
Note: This sections is for Robo 3T and it directly depends on what MongoDB suppports
(See: https://docs.mongodb.com/manual/administration/production-notes/#prod-notes-supported-platforms)
| MongoDB Versions | MongoDB Cloud Platforms |
| :-------------------- | :-------------------- |
| 4.2 | Mongo Atlas |
| 4.0 |
| 3.6 |
| Windows | Mac | Linux |
|:---------------------- | :--------------------------------| :---------------------------|
| Windows 64-bit 10 | Mac OS X 11 (Big Sur) | Linux Ubuntu 20.04 64-bit |
Windows 64-bit 8.1 | Mac OS X 10.15 (Catalina) | Linux Ubuntu 18.04 64-bit |
| Windows 64-bit 7 | Mac OS X 10.14 (Mojave) | |
Contribute!
===========
### Code Contributions
See all docs here: https://github.com/Studio3T/robomongo/wiki
**Some important docs:**
- [Build Diagram](https://github.com/Studio3T/robomongo/wiki/Robo-3T-Schematics:-Build,-Class-and-UI-Diagrams#1-build-diagram)
- [Static Code Analysis](https://github.com/Studio3T/robomongo/wiki/Static-Code-Analysis)
- [Robo 3T Feature Specisification](https://github.com/Studio3T/robomongo/wiki/Feature-Spec)
- [Debugging](https://github.com/Studio3T/robomongo/blob/master/docs/Debug.md)
- [Schematics](https://github.com/Studio3T/robomongo/tree/master/schematics)
Code contributions are always welcome! Just try to follow our pre-commit checks and coding style:
- [Robo 3T Code Quality](https://github.com/paralect/robomongo/wiki/Robomongo-Code-Quality)
- [Robo 3T C++11/14 Transition Guide](https://github.com/Studio3T/robomongo/wiki/Robomongo-Cplusplus-11,-14-Transition-Guide)
- [Robo 3T Coding Style](https://github.com/paralect/robomongo/wiki/Robomongo-Coding-Style)
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.
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).
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.
For example:
```#248: updated QScintilla to 2.4.8 for retina display support".```
### Testing
- [Unit-Tests](https://github.com/Studio3T/robomongo/wiki/Unit-Tests)
- [Manual Tests](wiki/Tests)
- See all docs here: https://github.com/Studio3T/robomongo/wiki
### Suggest Features
New feature suggestions or UI improvements are always welcome.
[Create a new feature request on github](https://github.com/paralect/robomongo/issues/new)
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).
Download
========
You can download compiled version (for Mac OS X and Windows) at this page:<br />
https://www.dropbox.com/sh/u0s0i8e4m0a8i9f/oxtqKHPUZ8
You can download tested installer packages for macOS, Windows, and Linux from our site: [www.robomongo.org](http://www.robomongo.org).
Support
=======
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 :).
You can:
- [Create a new issue in the Github issue queue](https://github.com/paralect/robomongo/issues)
- [Join developer discussion on Gitter](https://gitter.im/paralect/robomongo)
Building
========
License
=======
You are lucky enough, if prebuild libraries (that are in `libs` folder) are
already available and match your OS/Compiler. For most of you it's not &mdash;
you need to build Robomongo dependencies, before building Robomongo itself.
Copyright 2014-2021 [3T Software Labs Ltd](https://studio3t.com/). All rights reserved.
Here is a detailed instructions on building Robomongo dependencies for Linux and/or Mac OS X:<br />
[Building Robomongo and Dependencies (for Linux and Mac OS X)]
(https://github.com/paralect/robomongo/wiki/Building-Robomongo-and-Dependencies-(for-Linux-and-Mac-OS-X\))
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License version 3 as
published by the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
Windows
-------
The following steps assume that all dependencies already compiled.
Prerequisites:
* Qt should be compiled with VC2010. Tested with Qt 4.8
* Your PATH variable should have Qt bin folder
* Visual Studio 2010 should be installed and VC should be in this location: %ProgramFiles%\Microsoft Visual Studio 10.0\VC. Otherwise you need to modify VISUALC_PATH in build script.
Compiling:
> cd build
> build.bat
Executable will be placed to: target/debug/app/out
Linux and OS X
---------------
The following steps assume that all dependencies already compiled.
Prerequisites:
* Qt should be installed. Tested with Qt 4.8
* Your PATH variable should have Qt bin folder
Compiling:
$ cd build
$ chmod u+x build.sh
$ ./build.sh
Executable will be placed to: target/debug/app/out
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
+31
View File
@@ -0,0 +1,31 @@
Bash fronted for CMake
======================
If you want to use this scripts, you need to set single environment variable:
E.g.:
export ROBOMONGO_CMAKE_PREFIX_PATH="/path/to/qt-5/5.5/gcc_64;/path/to/robomongo-shell"
Build Robomongo:
$ bin/configure
$ bin/build
Install Robomongo:
$ bin/install
Run Robomongo:
$ bin/run
Pack Robomongo:
$ bin/pack
More:
- [Build Robo 3T - Mac OS X and Linux](https://github.com/paralect/robomongo/blob/master/docs/BuildRobo3TOnMacAndLinux.md)
- [Build Robo 3T - Windows](https://github.com/paralect/robomongo/blob/master/docs/BuildRobo3TOnWindows.md)
- [Unit Tests](wiki/Unit-Tests)
- [Static Code Analysis](wiki/Static-Code-Analysis)
Executable
+8
View File
@@ -0,0 +1,8 @@
#!/usr/bin/env bash
BIN_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Get directory of this file
PROJECT_DIR=$(dirname $BIN_DIR) # Get root directory of project
source $BIN_DIR/common/setup $1 # $1: release or debug
cd $BUILD_DIR
cmake --build . "${@:2}" -- -j8
+7
View File
@@ -0,0 +1,7 @@
#!/usr/bin/env bash
BIN_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Get directory of this file
PROJECT_DIR=$(dirname $BIN_DIR) # Get root directory of project
source $BIN_DIR/build || exit $?
source $BIN_DIR/run-tests $1
+15
View File
@@ -0,0 +1,15 @@
@echo off
setlocal enableextensions enabledelayedexpansion
rem Path to bin and project folder
set BIN_DIR_WITH_BACKSLASH=%~dp0%
set BIN_DIR=%BIN_DIR_WITH_BACKSLASH:~0,-1%
set PROJECT_DIR=%BIN_DIR%\..
rem Run build
call "%BIN_DIR%\build.bat" %*
if %ERRORLEVEL% neq 0 (exit /b 1)
rem Run tests
call "%BIN_DIR%\run-tests.bat" %*
if %ERRORLEVEL% neq 0 (exit /b 1)
+20
View File
@@ -0,0 +1,20 @@
@echo off
setlocal enableextensions enabledelayedexpansion
rem Path to bin and project folder
set BIN_DIR_WITH_BACKSLASH=%~dp0%
set BIN_DIR=%BIN_DIR_WITH_BACKSLASH:~0,-1%
set PROJECT_DIR=%BIN_DIR%\..
rem Run common setup code
call "%BIN_DIR%\common\setup.bat" %*
if %ERRORLEVEL% neq 0 (exit /b 1)
rem Run build
cd "%BUILD_DIR%"
cmake --build . --config %BUILD_TYPE%
rem Install debug *.dll files
if "%BUILD_TYPE%" == "Debug" (
call "%BIN_DIR%\install-debug-dlls.bat" %*
)
+10
View File
@@ -0,0 +1,10 @@
bugprone-*
cert-*
clang-analyzer-*
cppcoreguidelines-*
concurrency-*
hicpp-*
llvm-*
misc-*
performance-*
readability-*
+4
View File
@@ -0,0 +1,4 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<EnableClangTidyCodeAnalysis>true</EnableClangTidyCodeAnalysis>
<ClangTidyChecks></ClangTidyChecks>
</PropertyGroup>
Executable
+7
View File
@@ -0,0 +1,7 @@
#!/usr/bin/env bash
BIN_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Get directory of this file
PROJECT_DIR=$(dirname $BIN_DIR) # Get root directory of project
source $BIN_DIR/common/setup $1
cd $VARIANT_DIR && rm -rf $BUILD_DIR_NAME
+15
View File
@@ -0,0 +1,15 @@
@echo off
setlocal enableextensions enabledelayedexpansion
rem Path to bin and project folder
set BIN_DIR_WITH_BACKSLASH=%~dp0%
set BIN_DIR=%BIN_DIR_WITH_BACKSLASH:~0,-1%
set PROJECT_DIR=%BIN_DIR%\..
rem Run common setup code
call "%BIN_DIR%\common\setup.bat" %*
if %ERRORLEVEL% neq 0 (exit /b 1)
rem Clear build directory
cd "%VARIANT_DIR%"
rmdir /s /q "%BUILD_DIR_NAME%"
+30
View File
@@ -0,0 +1,30 @@
#!/usr/bin/env bash
if [ "$1" == "debug" ]; then
BUILD_TYPE=Debug
else
BUILD_TYPE=Release
# Prepend "release" in front of $@
set -- release "$@"
fi
# Build dir name is a lowercase of BUILD_TYPE
# i.e. debug
BUILD_DIR_NAME="$(echo $BUILD_TYPE | tr '[A-Z]' '[a-z]')"
# i.e. /path/to/robomongo/build
VARIANT_DIR=$PROJECT_DIR/build
# i.e. /path/to/robomongo/build/debug
BUILD_DIR=$VARIANT_DIR/$BUILD_DIR_NAME
# i.e. /path/to/robomongo/build/debug/install
INSTALL_PREFIX=$BUILD_DIR/install
# i.e. /path/to/robomongo/build/debug/package
PACK_PREFIX=$BUILD_DIR/package
PREFIX_PATH=$ROBOMONGO_CMAKE_PREFIX_PATH
mkdir -p $BUILD_DIR
+48
View File
@@ -0,0 +1,48 @@
rem Check that ROBOMONGO_CMAKE_PREFIX_PATH is set
if not defined ROBOMONGO_CMAKE_PREFIX_PATH (
echo Set environment variable ROBOMONGO_CMAKE_PREFIX_PATH in order to use this script
echo.
echo For example, execute the following command:
echo setx ROBOMONGO_CMAKE_PREFIX_PATH "c:\Qt-5\5.5\msvc2013_64;c:\robomongo-shell"
echo.
echo You also need to reopen your Windows Command Prompt.
exit /b 1
)
rem Check for debug build type
if %1. == debug. (
set BUILD_TYPE=Debug
) else (
rem If build type wasn't specified - Release mode assumed
if %1. ==. (
set BUILD_TYPE=Release
) else (
echo Invalid build type "%1". Supported build types: debug or release.
exit /b 1
)
)
rem Build dir name (i.e. Release)
set BUILD_DIR_NAME=%BUILD_TYPE%
rem i.e. /path/to/robomongo/build
set VARIANT_DIR=%PROJECT_DIR%\build
rem i.e. /path/to/robomongo/build/debug
set BUILD_DIR=%VARIANT_DIR%\%BUILD_DIR_NAME%
rem i.e. /path/to/robomongo/build/debug/install
set INSTALL_PREFIX=%BUILD_DIR%\install
rem i.e. /path/to/robomongo/build/debug/package
set PACK_PREFIX=%BUILD_DIR%/package
rem Get value from environment variable
set PREFIX_PATH=%ROBOMONGO_CMAKE_PREFIX_PATH%
rem Create BUILD_DIR if it is not exists already
if not exist "%BUILD_DIR%" (
md "%BUILD_DIR%"
)
Vendored Executable
+9
View File
@@ -0,0 +1,9 @@
#!/usr/bin/env bash
BIN_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Get directory of this file
PROJECT_DIR=$(dirname $BIN_DIR) # Get root directory of project
source $BIN_DIR/common/setup $1 # $1: release or debug
cd $BUILD_DIR
# $BUILD_TYPE: Release or Debug
cmake -D "CMAKE_PREFIX_PATH=$PREFIX_PATH" -D "CMAKE_BUILD_TYPE=$BUILD_TYPE" -D "CMAKE_INSTALL_PREFIX=$INSTALL_PREFIX" "${@:2}" $PROJECT_DIR
+21
View File
@@ -0,0 +1,21 @@
@echo off
setlocal enableextensions enabledelayedexpansion
rem Path to bin and project folder
set BIN_DIR_WITH_BACKSLASH=%~dp0%
set BIN_DIR=%BIN_DIR_WITH_BACKSLASH:~0,-1%
set PROJECT_DIR=%BIN_DIR%\..
rem Run common setup code
call "%BIN_DIR%\common\setup.bat" %*
if %ERRORLEVEL% neq 0 (exit /b 1)
rem Run CMake configuration step
rem BUILD_TYPE: Release or Debug
cd "%BUILD_DIR%"
cmake -G "Visual Studio 15 2017 Win64" -D "CMAKE_PREFIX_PATH=%PREFIX_PATH%" -D "CMAKE_BUILD_TYPE=%BUILD_TYPE%" -D "CMAKE_INSTALL_PREFIX=%INSTALL_PREFIX%" %PROJECT_DIR%
@REM echo ___________________________________________________________________
@REM rem Enable Clang Tidy for Visual Studio 2019 IDE ...
@REM set ROBO_PROJ_FILE=%BUILD_DIR%/src/robomongo/robomongo.vcxproj
@REM python %BIN_DIR%\enable-visual-studio-clang-tidy.py %ROBO_PROJ_FILE% %BIN_DIR%
+44
View File
@@ -0,0 +1,44 @@
import sys
from lxml import etree
print('\nEnabling Clang Tidy for Visual Studio 2019')
robo_proj_xml = sys.argv[1]
clang_tidy_xml = sys.argv[2] + '/clang-tidy.xml'
clang_checks_txt = sys.argv[2] + '/clang-checks.txt'
print(sys.argv[0] + ":\nProcessing: " + sys.argv[1])
## Read clang checks
clang_checks = None
with open(clang_checks_txt, "r") as file:
clang_checks = file.read().replace('\n', ',')
##
tree = etree.parse(robo_proj_xml)
ns = {'ns':'http://schemas.microsoft.com/developer/msbuild/2003'}
if(tree.find('//ns:EnableClangTidyCodeAnalysis', namespaces=ns) is not None):
tree.find('//ns:ClangTidyChecks', namespaces=ns).text = clang_checks
tree.write(robo_proj_xml)
print('Finished')
sys.exit()
## Append clang_tidy_xml - Todo: refactor using etree
with open(robo_proj_xml, "r") as in_file:
buf = in_file.readlines()
with open(clang_tidy_xml, "r") as in_file:
clang_tidy_xml_buf = in_file.read()
appended = False
with open(robo_proj_xml, "w") as out_file:
for line in buf:
if "</ItemGroup>" in line and appended == False:
line = line + clang_tidy_xml_buf
appended = True
out_file.write(line)
## Add clang checks
tree = etree.parse(robo_proj_xml)
tree.find('//ns:ClangTidyChecks', namespaces=ns).text = clang_checks
tree.write(robo_proj_xml)
print('Finished')
Executable
+8
View File
@@ -0,0 +1,8 @@
#!/usr/bin/env bash
BIN_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Get directory of this file
PROJECT_DIR=$(dirname $BIN_DIR) # Get root directory of project
source $BIN_DIR/common/setup $1
cd $BUILD_DIR
cmake --build . --target install/strip "${@:2}"
+54
View File
@@ -0,0 +1,54 @@
@echo off
setlocal enableextensions enabledelayedexpansion
rem // This script installs debug *.dll files
rem -------------------------------------------
set INSTALL_DIR=%BUILD_DIR%\src\robomongo\Debug\
if not exist %INSTALL_DIR%*.dll (
echo ----------------------------------------
echo Installing debug *.dll files ...
echo INSTALL_DIR: %INSTALL_DIR%
echo ----------------------------------------
)
rem // Find OpenSSL and Qt paths
for %%i in (%ROBOMONGO_CMAKE_PREFIX_PATH%) do (
set xx=%%i
if not "!xx!"=="!xx:ssl=!" ( set OPENSSL_DIR=!xx! )
if not "!xx!"=="!xx:qt=!" ( set Qt_DIR=!xx! )
)
set OPENSSL_DIR=%OPENSSL_DIR: =%
set Qt_DIR=%Qt_DIR: =%
rem // Copy dll files
for /d %%a in (
"%VS140COMNTOOLS%\..\..\VC\redist\debug_nonredist\x64\Microsoft.VC140.DebugCRT\msvcp140d.dll"
"%VS140COMNTOOLS%\..\..\VC\redist\debug_nonredist\x64\Microsoft.VC140.DebugCRT\vcruntime140d.dll"
"%OPENSSL_DIR%\libssl-1_1-x64.dll"
"%OPENSSL_DIR%\libcrypto-1_1-x64.dll"
"%Qt_DIR%\bin\Qt5Cored.dll"
"%Qt_DIR%\bin\Qt5Guid.dll"
"%Qt_DIR%\bin\Qt5Networkd.dll"
"%Qt_DIR%\bin\Qt5Widgetsd.dll"
"%Qt_DIR%\bin\Qt5Positioningd.dll"
"%Qt_DIR%\bin\Qt5Qmld.dll"
"%Qt_DIR%\bin\Qt5Quickd.dll"
"%Qt_DIR%\bin\Qt5QuickWidgetsd.dll"
"%Qt_DIR%\bin\Qt5WebChanneld.dll"
"%Qt_DIR%\bin\Qt5WebEngineCored.dll"
"%Qt_DIR%\bin\Qt5WebEngineWidgetsd.dll"
"%Qt_DIR%\bin\Qt5PrintSupportd.dll"
) do (
if not exist !INSTALL_DIR!%%~NXa (
xcopy %%a !INSTALL_DIR! /d /y
)
)
if not exist %INSTALL_DIR%\imageformats\qgifd.dll (
xcopy /s "%Qt_DIR%\plugins\imageformats" %INSTALL_DIR%\imageformats\ /d /y
)
if not exist %INSTALL_DIR%\platforms\qminimald.dll (
xcopy /s "%Qt_DIR%\plugins\platforms" %INSTALL_DIR%\platforms\ /d /y
)
+15
View File
@@ -0,0 +1,15 @@
@echo off
setlocal enableextensions enabledelayedexpansion
rem Path to bin and project folder
set BIN_DIR_WITH_BACKSLASH=%~dp0%
set BIN_DIR=%BIN_DIR_WITH_BACKSLASH:~0,-1%
set PROJECT_DIR=%BIN_DIR%\..
rem Run common setup code
call "%BIN_DIR%\common\setup.bat" %*
if %ERRORLEVEL% neq 0 (exit /b 1)
rem Run install
cd "%BUILD_DIR%"
cmake --build . --config %BUILD_TYPE% --target install
Executable
+8
View File
@@ -0,0 +1,8 @@
#!/usr/bin/env bash
BIN_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Get directory of this file
PROJECT_DIR=$(dirname $BIN_DIR) # Get root directory of project
source $BIN_DIR/common/setup $1
cd $BUILD_DIR
cmake --build . --target package "${@:2}"
+15
View File
@@ -0,0 +1,15 @@
@echo off
setlocal enableextensions enabledelayedexpansion
rem Path to bin and project folder
set BIN_DIR_WITH_BACKSLASH=%~dp0%
set BIN_DIR=%BIN_DIR_WITH_BACKSLASH:~0,-1%
set PROJECT_DIR=%BIN_DIR%\..
rem Run common setup code
call "%BIN_DIR%\common\setup.bat" %*
if %ERRORLEVEL% neq 0 (exit /b 1)
rem Run install
cd "%BUILD_DIR%"
cmake --build . --config %BUILD_TYPE% --target package
+6
View File
@@ -0,0 +1,6 @@
@echo off
setlocal enableextensions enabledelayedexpansion
call "clean.bat" %*
call "configure.bat" %*
call "build.bat" %*
Executable
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env bash
BIN_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Get directory of this file
PROJECT_DIR=$(dirname $BIN_DIR) # Get root directory of project
source $BIN_DIR/common/setup $1
echo "Note: ./install must be executed before this script."
if [ "$(uname -s)" == "Darwin" ]; then
echo "Starting $BUILD_DIR/install/Robo 3T.app/Contents/MacOS/Robo 3T"
"$BUILD_DIR/install/Robo 3T.app/Contents/MacOS/Robo 3T"
else
echo "Starting $BUILD_DIR/install/bin/robo3t"
"$BUILD_DIR/install/bin/robo3t"
fi
+33
View File
@@ -0,0 +1,33 @@
#!/usr/bin/env bash
### Common Setup
BIN_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Get directory of this file
PROJECT_DIR=$(dirname $BIN_DIR) # Get root directory of project
source $BIN_DIR/common/setup $1 # $1: release or debug
### Setup
CLANG_TIDY_BUILD_DIR=$PROJECT_DIR/build/clang-tidy-$BUILD_TYPE
rm -rf $CLANG_TIDY_BUILD_DIR
mkdir -p $CLANG_TIDY_BUILD_DIR && cd $CLANG_TIDY_BUILD_DIR
### Configure cmake
# Info: $BUILD_TYPE == Release or Debug
cmake -D "CMAKE_EXPORT_COMPILE_COMMANDS=ON" -D "CMAKE_PREFIX_PATH=$PREFIX_PATH" -D "CMAKE_BUILD_TYPE=$BUILD_TYPE" -D "CMAKE_INSTALL_PREFIX=$INSTALL_PREFIX" "${@:2}" $PROJECT_DIR
echo -e "\n------------------------------------------------"
echo "clang-tidy configured. Mode: $BUILD_TYPE"
echo -e "------------------------------------------------\n"
### Run clang-tidy
FILE_OR_PATH=/opt/robo/src/robomongo/ # or MainWindow.cpp
CHECKS=clang-analyzer-*,readability-implicit-bool-conversion
# All Checks: https://clang.llvm.org/extra/clang-tidy/checks/list.html
# e.g. $BIN_DIR/run-clang-tidy.py -checks=clang-analyzer-*,readability-implicit-bool-conversion /opt/robo/src/robomongo/
$BIN_DIR/run-clang-tidy.py -checks=$CHECKS $FILE_OR_PATH
echo -e "\n------------------------------------------------"
echo "clang-tidy finished"
echo "Mode : $BUILD_TYPE"
echo "CLANG_TIDY_BUILD_DIR: $CLANG_TIDY_BUILD_DIR"
echo "Command executed : $BIN_DIR/run-clang-tidy.py -checks=$CHECKS $FILE_OR_PATH"
echo -e "------------------------------------------------\n"
+326
View File
@@ -0,0 +1,326 @@
#!/usr/bin/env python
#
#===- run-clang-tidy.py - Parallel clang-tidy runner ---------*- python -*--===#
#
# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
#
#===------------------------------------------------------------------------===#
# FIXME: Integrate with clang-tidy-diff.py
"""
Parallel clang-tidy runner
==========================
Runs clang-tidy over all files in a compilation database. Requires clang-tidy
and clang-apply-replacements in $PATH.
Example invocations.
- Run clang-tidy on all files in the current working directory with a default
set of checks and show warnings in the cpp files and all project headers.
run-clang-tidy.py $PWD
- Fix all header guards.
run-clang-tidy.py -fix -checks=-*,llvm-header-guard
- Fix all header guards included from clang-tidy and header guards
for clang-tidy headers.
run-clang-tidy.py -fix -checks=-*,llvm-header-guard extra/clang-tidy \
-header-filter=extra/clang-tidy
Compilation database setup:
http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html
"""
from __future__ import print_function
import argparse
import glob
import json
import multiprocessing
import os
import re
import shutil
import subprocess
import sys
import tempfile
import threading
import traceback
try:
import yaml
except ImportError:
yaml = None
is_py2 = sys.version[0] == '2'
if is_py2:
import Queue as queue
else:
import queue as queue
def find_compilation_database(path):
"""Adjusts the directory until a compilation database is found."""
result = './'
while not os.path.isfile(os.path.join(result, path)):
if os.path.realpath(result) == '/':
print('Error: could not find compilation database.')
sys.exit(1)
result += '../'
return os.path.realpath(result)
def make_absolute(f, directory):
if os.path.isabs(f):
return f
return os.path.normpath(os.path.join(directory, f))
def get_tidy_invocation(f, clang_tidy_binary, checks, tmpdir, build_path,
header_filter, extra_arg, extra_arg_before, quiet,
config):
"""Gets a command line for clang-tidy."""
start = [clang_tidy_binary]
if header_filter is not None:
start.append('-header-filter=' + header_filter)
if checks:
start.append('-checks=' + checks)
if tmpdir is not None:
start.append('-export-fixes')
# Get a temporary file. We immediately close the handle so clang-tidy can
# overwrite it.
(handle, name) = tempfile.mkstemp(suffix='.yaml', dir=tmpdir)
os.close(handle)
start.append(name)
for arg in extra_arg:
start.append('-extra-arg=%s' % arg)
for arg in extra_arg_before:
start.append('-extra-arg-before=%s' % arg)
start.append('-p=' + build_path)
if quiet:
start.append('-quiet')
if config:
start.append('-config=' + config)
start.append(f)
return start
def merge_replacement_files(tmpdir, mergefile):
"""Merge all replacement files in a directory into a single file"""
# The fixes suggested by clang-tidy >= 4.0.0 are given under
# the top level key 'Diagnostics' in the output yaml files
mergekey="Diagnostics"
merged=[]
for replacefile in glob.iglob(os.path.join(tmpdir, '*.yaml')):
content = yaml.safe_load(open(replacefile, 'r'))
if not content:
continue # Skip empty files.
merged.extend(content.get(mergekey, []))
if merged:
# MainSourceFile: The key is required by the definition inside
# include/clang/Tooling/ReplacementsYaml.h, but the value
# is actually never used inside clang-apply-replacements,
# so we set it to '' here.
output = { 'MainSourceFile': '', mergekey: merged }
with open(mergefile, 'w') as out:
yaml.safe_dump(output, out)
else:
# Empty the file:
open(mergefile, 'w').close()
def check_clang_apply_replacements_binary(args):
"""Checks if invoking supplied clang-apply-replacements binary works."""
try:
subprocess.check_call([args.clang_apply_replacements_binary, '--version'])
except:
print('Unable to run clang-apply-replacements. Is clang-apply-replacements '
'binary correctly specified?', file=sys.stderr)
traceback.print_exc()
sys.exit(1)
def apply_fixes(args, tmpdir):
"""Calls clang-apply-fixes on a given directory."""
invocation = [args.clang_apply_replacements_binary]
if args.format:
invocation.append('-format')
if args.style:
invocation.append('-style=' + args.style)
invocation.append(tmpdir)
subprocess.call(invocation)
def run_tidy(args, tmpdir, build_path, queue, lock, failed_files):
"""Takes filenames out of queue and runs clang-tidy on them."""
while True:
name = queue.get()
invocation = get_tidy_invocation(name, args.clang_tidy_binary, args.checks,
tmpdir, build_path, args.header_filter,
args.extra_arg, args.extra_arg_before,
args.quiet, args.config)
proc = subprocess.Popen(invocation, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output, err = proc.communicate()
if proc.returncode != 0:
failed_files.append(name)
with lock:
sys.stdout.write(' '.join(invocation) + '\n' + output.decode('utf-8'))
if len(err) > 0:
sys.stdout.flush()
sys.stderr.write(err.decode('utf-8'))
queue.task_done()
def main():
parser = argparse.ArgumentParser(description='Runs clang-tidy over all files '
'in a compilation database. Requires '
'clang-tidy and clang-apply-replacements in '
'$PATH.')
parser.add_argument('-clang-tidy-binary', metavar='PATH',
default='clang-tidy',
help='path to clang-tidy binary')
parser.add_argument('-clang-apply-replacements-binary', metavar='PATH',
default='clang-apply-replacements',
help='path to clang-apply-replacements binary')
parser.add_argument('-checks', default=None,
help='checks filter, when not specified, use clang-tidy '
'default')
parser.add_argument('-config', default=None,
help='Specifies a configuration in YAML/JSON format: '
' -config="{Checks: \'*\', '
' CheckOptions: [{key: x, '
' value: y}]}" '
'When the value is empty, clang-tidy will '
'attempt to find a file named .clang-tidy for '
'each source file in its parent directories.')
parser.add_argument('-header-filter', default=None,
help='regular expression matching the names of the '
'headers to output diagnostics from. Diagnostics from '
'the main file of each translation unit are always '
'displayed.')
if yaml:
parser.add_argument('-export-fixes', metavar='filename', dest='export_fixes',
help='Create a yaml file to store suggested fixes in, '
'which can be applied with clang-apply-replacements.')
parser.add_argument('-j', type=int, default=0,
help='number of tidy instances to be run in parallel.')
parser.add_argument('files', nargs='*', default=['.*'],
help='files to be processed (regex on path)')
parser.add_argument('-fix', action='store_true', help='apply fix-its')
parser.add_argument('-format', action='store_true', help='Reformat code '
'after applying fixes')
parser.add_argument('-style', default='file', help='The style of reformat '
'code after applying fixes')
parser.add_argument('-p', dest='build_path',
help='Path used to read a compile command database.')
parser.add_argument('-extra-arg', dest='extra_arg',
action='append', default=[],
help='Additional argument to append to the compiler '
'command line.')
parser.add_argument('-extra-arg-before', dest='extra_arg_before',
action='append', default=[],
help='Additional argument to prepend to the compiler '
'command line.')
parser.add_argument('-quiet', action='store_true',
help='Run clang-tidy in quiet mode')
args = parser.parse_args()
db_path = 'compile_commands.json'
if args.build_path is not None:
build_path = args.build_path
else:
# Find our database
build_path = find_compilation_database(db_path)
try:
invocation = [args.clang_tidy_binary, '-list-checks']
invocation.append('-p=' + build_path)
if args.checks:
invocation.append('-checks=' + args.checks)
invocation.append('-')
if args.quiet:
# Even with -quiet we still want to check if we can call clang-tidy.
with open(os.devnull, 'w') as dev_null:
subprocess.check_call(invocation, stdout=dev_null)
else:
subprocess.check_call(invocation)
except:
print("Unable to run clang-tidy.", file=sys.stderr)
sys.exit(1)
# Load the database and extract all files.
database = json.load(open(os.path.join(build_path, db_path)))
files = [make_absolute(entry['file'], entry['directory'])
for entry in database]
max_task = args.j
if max_task == 0:
max_task = multiprocessing.cpu_count()
tmpdir = None
if args.fix or (yaml and args.export_fixes):
check_clang_apply_replacements_binary(args)
tmpdir = tempfile.mkdtemp()
# Build up a big regexy filter from all command line arguments.
file_name_re = re.compile('|'.join(args.files))
return_code = 0
try:
# Spin up a bunch of tidy-launching threads.
task_queue = queue.Queue(max_task)
# List of files with a non-zero return code.
failed_files = []
lock = threading.Lock()
for _ in range(max_task):
t = threading.Thread(target=run_tidy,
args=(args, tmpdir, build_path, task_queue, lock, failed_files))
t.daemon = True
t.start()
# Fill the queue with files.
for name in files:
if file_name_re.search(name):
task_queue.put(name)
# Wait for all threads to be done.
task_queue.join()
if len(failed_files):
return_code = 1
except KeyboardInterrupt:
# This is a sad hack. Unfortunately subprocess goes
# bonkers with ctrl-c and we start forking merrily.
print('\nCtrl-C detected, goodbye.')
if tmpdir:
shutil.rmtree(tmpdir)
os.kill(0, 9)
if yaml and args.export_fixes:
print('Writing fixes to ' + args.export_fixes + ' ...')
try:
merge_replacement_files(tmpdir, args.export_fixes)
except:
print('Error exporting fixes.\n', file=sys.stderr)
traceback.print_exc()
return_code=1
if args.fix:
print('Applying fixes ...')
try:
apply_fixes(args, tmpdir)
except:
print('Error applying fixes.\n', file=sys.stderr)
traceback.print_exc()
return_code=1
if tmpdir:
shutil.rmtree(tmpdir)
sys.exit(return_code)
if __name__ == '__main__':
main()
+22
View File
@@ -0,0 +1,22 @@
@echo off
setlocal enableextensions enabledelayedexpansion
set CPP_VER=c++17
set FILE_OR_DIR=..\src\robomongo\
set PARAM_1=%1
if not "%PARAM_1%" == "" (
set FILE_OR_DIR=%PARAM_1%
)
rem Run analysis
echo.
echo ---------------------- Running cppcheck ----------------------
echo.
call cppcheck %FILE_OR_DIR% --enable=all --std=%CPP_VER%
echo.
echo ---------------------- End of cppcheck ----------------------
echo.
echo ---------------------- Info ----------------------
call cppcheck --version
echo Command called: cppcheck %FILE_OR_DIR% --enable=all --std=%CPP_VER%
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env bash
BIN_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Get directory of this file
PROJECT_DIR=$(dirname $BIN_DIR) # Get root directory of project
source $BIN_DIR/common/setup $1 # $1: release or debug
mkdir -p ../scan-build && cd ../scan-build
# $BUILD_TYPE: Release or Debug
# Hint: Use "--use-analyzer /usr/local/opt/llvm/bin/clang++" after "-v"
scan-build -v cmake -D "CMAKE_PREFIX_PATH=$PREFIX_PATH" -D "CMAKE_BUILD_TYPE=$BUILD_TYPE" -D "CMAKE_INSTALL_PREFIX=$INSTALL_PREFIX" "${@:2}" $PROJECT_DIR
echo -e "\n------------------------------------------------"
echo "Configured with scan-build in $BUILD_TYPE mode"
echo -e "------------------------------------------------\n"
scan-build cmake --build . "${@:2}" -- -j8
echo -e "\n------------------------------------------------"
echo "Built with scan-build in $BUILD_TYPE mode"
echo -e "------------------------------------------------\n"
Executable
+21
View File
@@ -0,0 +1,21 @@
#!/usr/bin/env bash
BIN_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Get directory of this file
PROJECT_DIR=$(dirname $BIN_DIR) # Get root directory of project
source $BIN_DIR/common/setup $1
echo
echo "******************* Running unit tests in $BUILD_TYPE mode *******************"
echo
if [ "$(uname -s)" == "Darwin" ]; then
EXE="$BUILD_DIR/src/robomongo-unit-tests/robo_unit_tests"
echo "Running file: $EXE"
"$EXE"
else # Linux
echo "Error: Currently unit testing is disabled for Linux due to MongoDB linking problem"
exit 0
EXE="$BUILD_DIR/src/robomongo-unit-tests/robo_unit_tests"
echo "Running file: $EXE"
"$EXE"
fi
+20
View File
@@ -0,0 +1,20 @@
@echo off
setlocal enableextensions enabledelayedexpansion
rem Path to bin and project folder
set BIN_DIR_WITH_BACKSLASH=%~dp0%
set BIN_DIR=%BIN_DIR_WITH_BACKSLASH:~0,-1%
set PROJECT_DIR=%BIN_DIR%\..
rem Run common setup code
call "%BIN_DIR%\common\setup.bat" %*
if %ERRORLEVEL% neq 0 (exit /b 1)
rem Run tests
echo.
echo ******************* Running unit tests *******************
echo Mode: %BUILD_TYPE%
set TEST_EXE_DIR=%PROJECT_DIR%\\build\%BUILD_TYPE%\src\robomongo-unit-tests\%BUILD_TYPE%
echo Run : %TEST_EXE_DIR%\robo_unit_tests.exe
echo.
call "%TEST_EXE_DIR%\robo_unit_tests.exe" %*
+29
View File
@@ -0,0 +1,29 @@
@echo off
setlocal enableextensions enabledelayedexpansion
rem Path to bin and project folder
set BIN_DIR_WITH_BACKSLASH=%~dp0%
set BIN_DIR=%BIN_DIR_WITH_BACKSLASH:~0,-1%
set PROJECT_DIR=%BIN_DIR%\..
rem Run common setup code
call "%BIN_DIR%\common\setup.bat" %*
if %ERRORLEVEL% neq 0 (exit /b 1)
rem Run Visual Studio with RunCodeAnalysis
cd "%BUILD_DIR%"
set RULE_SET="/p:CodeAnalysisRuleSet=NativeRecommendedRules.ruleset"
set OUT_FILE=vs-code-analysis-%BUILD_TYPE%.txt
echo ------------- Running Visual Studio with RunCodeAnalysis -------------
echo Result will be written into file "%OUT_FILE%" in the end.
echo ...
cmake --build . --config %BUILD_TYPE% -- "/p:RunCodeAnalysis=true" %RULE_SET% > %BIN_DIR%\%OUT_FILE%
rem Rules: C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\Rule Sets
rem https://docs.microsoft.com/en-us/visualstudio/code-quality/rule-set-reference?view=vs-2019
echo ------------- End of RunCodeAnalysis -------------
echo.
echo ------------- Info -------------
echo Mode : %BUILD_TYPE%
echo RULE_SET: %RULE_SET% (see the script comments for more info)
+42
View File
@@ -0,0 +1,42 @@
import os
from os.path import join
###
def force_warning_level_3(file):
with open(file, "r") as in_file:
buf = in_file.readlines()
push = '#pragma warning(push, 3)\n'
pop = '#pragma warning(pop)\n'
last_line_has_mongo = False
with open(file, "w") as out_file:
for line in buf:
if line.startswith(('#include <mongo', '#include "mongo')):
if last_line_has_mongo:
pass # line = line + pop
else:
line = push + line
last_line_has_mongo = True
else:
if last_line_has_mongo:
line = pop + line
last_line_has_mongo = False
out_file.write(line)
### main
root_dir = 'E:\\robo\\src\\robomongo\\'
# root_dir = 'E:\\robo\\src\\robomongo\\shell\\bson\\' # for testing
print('Processing all source files in root & sub directories...')
print('Root Dir:', root_dir)
print('---------------------------------------------------------')
for path, subdirs, files in os.walk(root_dir):
for name in files:
if name.endswith(('.h', '.cpp')):
file = os.path.join(path, name)
print(file)
force_warning_level_3(file)
Executable
+20
View File
@@ -0,0 +1,20 @@
#!/usr/bin/env bash
BIN_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Get directory of this file
PROJECT_DIR=$(dirname $BIN_DIR) # Get root directory of project
VERSION="$(echo $1 | tr '[A-Z]' '[a-z]')"
if [ -z "$VERSION" ]; then
echo "Usage: tag <name>"
echo "Example: tag 0.9.0-rc9"
exit
fi
if [ "$(git rev-parse --abbrev-ref HEAD)" != "master" ]; then
echo "Error: You are not on master branch"
exit
fi
cd $PROJECT_DIR
git tag -a "v${VERSION}" -m "${VERSION}"
git push --tags
-132
View File
@@ -1,132 +0,0 @@
@echo off
setlocal enableextensions enabledelayedexpansion
rem -----------------------------------
rem - Configuration
rem -----------------------------------
rem Visual C++ directory
set VISUALC_DIR=%ProgramFiles%\Microsoft Visual Studio 10.0\VC
rem store current directory in order to return to it after
set ORIGINAL_DIR=%CD%
rem find project root folder
set PROJECT_ROOT=%CD%\..\
rem mode is a first arg
set MODE=%1
rem if mode wasnt specified - debug mode assumed
if %1. ==. (
set MODE=debug
)
rem if not 'debug' AND 'release' - print error message
if not %MODE% == debug (
if not %MODE% == release (
if not %MODE% == all (
echo.
echo Specified mode ^(%MODE%^) is unsupported.
goto FINALLY
)
)
)
if %MODE% == all (
%0 debug
%0 release
goto FINALLY
)
rem target folder where build will be placed
set TARGET=%PROJECT_ROOT%target\%MODE%
if %MODE% == debug (
set QMAKE_ARGS= -r -spec win32-msvc2010 "CONFIG+=debug" "CONFIG+=declarative_debug"
)
if %MODE% == release (
set QMAKE_ARGS= -r -spec win32-msvc2010 "CONFIG+=release"
)
echo Target folder: %TARGET%
echo Visual C folder: %VISUALC_DIR%
REM -----------------------------------
REM - Preparation
REM -----------------------------------
REM create target folder (if not already exists)
if not exist %TARGET% mkdir %TARGET%
if %ERRORLEVEL% neq 0 goto ERROR
REM go to target folder
cd %TARGET%
if %ERRORLEVEL% neq 0 goto ERROR
echo.
REM -----------------------------------
REM - QMake
REM -----------------------------------
REM run qmake
qmake %PROJECT_ROOT%src\robomongo\robomongo.pro %QMAKE_ARGS%
if %ERRORLEVEL% neq 0 (
echo.
echo Error when running qmake.
goto FINALLY
)
REM -----------------------------------
REM - Visual C nmake
REM -----------------------------------
REM configure Visual C shell environment
IF "!%VSINSTALLDIR%!" == "!!" (
echo Settings Visual C environment variables...
call "%VISUALC_DIR%\bin\vcvars32.bat"
if %ERRORLEVEL% neq 0 goto ERROR
) else (
echo Skipping Visual C environment setup ^(already configured^)
)
REM
nmake
if %ERRORLEVEL% neq 0 (
echo.
echo Error when running nmake.
goto FINALLY
)
goto DONE
REM -----------------------------------
REM - Errors report
REM -----------------------------------
:ERROR
echo.
echo Some error found.
goto FINALLY
REM -----------------------------------
REM - Success report
REM -----------------------------------
:DONE
echo.
echo Done without errors.
echo Executable location: %TARGET%
goto FINALLY
REM -----------------------------------
REM - Block that is always executed
REM -----------------------------------
:FINALLY
REM Return back to original folder
cd %ORIGINAL_DIR%
-116
View File
@@ -1,116 +0,0 @@
# ****************
# Configuration
# ****************
MODE=debug
LIBS=
while getopts ":dral:" opt; do
case $opt in
d) MODE=debug ;;
r) MODE=release ;;
a) MODE=all ;;
l) LIBS=$OPTARG ;;
\?)
echo "Invalid option: -$OPTARG" >&2
exit 1
;;
:)
echo "Option -$OPTARG requires an argument." >&2
exit 1
;;
esac
done
echo "Build mode: $MODE"
echo "Libs path: $LIBS"
if [[ $MODE != "release" ]] && [[ $MODE != "debug" ]] && [[ $MODE != "all" ]]; then
echo
echo -e "\e[00;31m Specified mode ($MODE) is unsupported.\e[00m"
echo
exit 1
fi
# add 'executable' bit to clean.sh and rebuild.sh if needed
if [ ! -x `pwd`/"clean.sh" ] ; then
chmod u+x clean.sh
chmod u+x rebuild.sh
fi
# if 'all' specified - build in debug and release mode
if [[ $MODE = "all" ]]; then
LIBS_ARG=
if [ ! -z "$LIBS" ]; then
LIBS_ARG=" -l $LIBS"
fi
$0 -d $LIBS_ARG
$0 -r $LIBS_ARG
exit 0
fi
PROJECT_ROOT=`pwd`/.. # Find project root
TARGET=${PROJECT_ROOT}/target/$MODE # Prepare output directory name
OUTPUT=${TARGET}/out # Prepare output directory name
OS=`uname`
if [[ $MODE = "debug" ]]; then
if [[ $OS = "Darwin" ]]; then
QMAKE_ARGS="-r -spec macx-g++ CONFIG+=debug CONFIG+=declarative_debug LIBS_PATH=$LIBS"
else
QMAKE_ARGS="-r -spec linux-g++ CONFIG+=debug CONFIG+=declarative_debug LIBS_PATH=$LIBS"
fi
fi
if [[ $MODE = "release" ]]; then
if [[ $OS = "Darwin" ]]; then
QMAKE_ARGS="-r -spec macx-g++ CONFIG+=release LIBS_PATH=$LIBS"
else
QMAKE_ARGS="-r -spec linux-g++ CONFIG+=release LIBS_PATH=$LIBS"
fi
fi
# ****************
# Preparation
# ****************
# Create target folder (if not already exists)
mkdir -p $TARGET
echo Output folder $TARGET
# Go to /target/debug folder
cd $TARGET
# ****************
# qmake
# ****************
qmake $PROJECT_ROOT/src/robomongo/robomongo.pro $QMAKE_ARGS
if [ $? != 0 ]; then
{
echo
echo -e "\e[00;31m Error when running qmake.\e[00m"
echo
exit 1
} fi
# ****************
# make
# ****************
make -w
if [ $? != 0 ]; then
{
echo
echo -e "\e[00;31m Error when running make.\e[00m"
echo
exit 1
} fi
echo
echo -e '\E[36m Done without errors \e[00m'
echo -e "\E[36m Executable location: ${OUTPUT} \e[00m"
echo
-65
View File
@@ -1,65 +0,0 @@
@echo off
setlocal enableextensions enabledelayedexpansion
rem -----------------------------------
rem - Configuration
rem -----------------------------------
rem find project root folder
set PROJECT_ROOT=%CD%\..\
rem mode is a first arg
set MODE=%1
rem if mode wasnt specified - debug mode assumed
if %1. ==. (
set MODE=debug
)
rem if not 'debug' AND 'release' - print error message
if not %MODE% == debug (
if not %MODE% == release (
if not %MODE% == all (
echo.
echo Specified mode ^(%MODE%^) is unsupported.
exit /b 1
)
)
)
if %MODE% == all (
call %0 debug
call %0 release
goto EOF
)
rem target folder where build will be placed
set TARGET=%PROJECT_ROOT%target\%MODE%
if not exist %TARGET% (
echo.
echo Already clean: !TARGET!.
goto EOF
pause
)
rem remove target folder
rmdir /s /q %TARGET%
if %ERRORLEVEL% neq 0 (
echo.
echo Error when removing !TARGET!.
exit /b 1
pause
)
rem check that clean was successfull
if not exist %TARGET% (
echo.
echo Done without errors.
echo This folder removed: !TARGET!
) else (
echo.
echo Error when removing files. Not all files were removed.
)
:EOF
-68
View File
@@ -1,68 +0,0 @@
# ****************
# Configuration
# ****************
MODE=debug
LIBS=
while getopts ":dral:" opt; do
case $opt in
d) MODE=debug ;;
r) MODE=release ;;
a) MODE=all ;;
l) LIBS=$OPTARG ;;
\?)
echo "Invalid option: -$OPTARG" >&2
exit 1
;;
:)
echo "Option -$OPTARG requires an argument." >&2
exit 1
;;
esac
done
if [[ $MODE != "release" ]] && [[ $MODE != "debug" ]] && [[ $MODE != "all" ]]; then
echo
echo -e "\e[00;31m Specified mode ($MODE) is unsupported.\e[00m"
echo
exit 1
fi
if [[ $MODE = "all" ]]; then
$0 -d
$0 -r
exit 0
fi
PROJECT_ROOT=`pwd`/.. # Find project root
TARGET_ROOT=${PROJECT_ROOT}/target
TARGET=${PROJECT_ROOT}/target/$MODE # Prepare output directory name
if [ ! -d "$TARGET" ]; then
echo
echo -e "\E[36m Already clean: ${TARGET} \e[00m"
echo
exit 0
fi
cd $TARGET_ROOT
rm -rf -- $MODE
if [ $? != 0 ]; then
{
echo
echo -e "\e[00;31m Error when removing ${TARGET}.\e[00m"
echo
exit 1
} fi
if [ ! -d "$TARGET" ]; then
echo
echo -e '\E[36m Done without errors. \e[00m'
echo -e "\E[36m This folder removed: ${TARGET} \e[00m"
echo
else
echo
echo -e "\e[00;31m Error when removing files. Not all files were removed. \e[00m"
echo
fi
-3
View File
@@ -1,3 +0,0 @@
#!/bin/bash
export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:`pwd`
open -n ./Robomongo.app
-63
View File
@@ -1,63 +0,0 @@
VERSION=0.7.1
PROJECT_ROOT=`pwd`/.. # Find project root
OUTPUT=${PROJECT_ROOT}/target/release/app/out
TEMPLATE=${PROJECT_ROOT}/install/osx/Robomongo.app
CREATEDMG=${PROJECT_ROOT}/install/osx/yoursway-create-dmg/create-dmg
# add 'executable' bit to create-dmg if needed
if [ ! -x $CREATEDMG ] ; then
chmod u+x $CREATEDMG
fi
OS=`uname`
if [[ $OS = "Darwin" ]]; then
cd $OUTPUT
macdeployqt Robomongo.app
cp -R $TEMPLATE $OUTPUT
$CREATEDMG --window-size 500 300 --icon-size 96 --volname "Robomongo" --app-drop-link 325 125 --icon "Robomongo" 170 125 Robomongo.dmg $OUTPUT/Robomongo.app
# example call to create-dmg
# ./create-dmg --window-size 500 300 --background ~/Projects/eclipse-osx-repackager/build/background.gif --icon-size 96 --volname "Hyper Foo"
# --app-drop-link 380 205 --icon "Eclipse OS X Repackager" 110 205 test2.dmg /Users/andreyvit/Projects/eclipse-osx-repackager/temp/Eclipse\ OS\ X\ Repackager\ r10/
echo "Robomongo.app location:"
echo "$OUTPUT"
elif [[ $OS = "Linux" ]]; then
QMAKE_PATH=`which qmake`
QT_BASE_BIN_DIR=$(dirname ${QMAKE_PATH})
QT_BASE_LIB_DIR=$QT_BASE_BIN_DIR/../lib
QT_BASE_PLUGINS_DIR=$QT_BASE_BIN_DIR/../plugins
DEPLOY_DIR=$OUTPUT/robomongo-$VERSION
LINUX_TEMPLATE=${PROJECT_ROOT}/install/linux
echo $QT_BASE_LIB_DIR
# create deploy folder (if not already exists)
mkdir -p $DEPLOY_DIR
mkdir -p $DEPLOY_DIR/lib
mkdir -p $DEPLOY_DIR/lib/imageformats
mkdir -p $DEPLOY_DIR/bin
cp -T $OUTPUT/libqjson.so.0.7.1 $DEPLOY_DIR/lib/libqjson.so.0
cp -T $OUTPUT/libqscintilla2.so.8.0.2 $DEPLOY_DIR/lib/libqscintilla2.so.8
cp -T $QT_BASE_LIB_DIR/libQtCore.so.4.8.3 $DEPLOY_DIR/lib/libQtCore.so.4
cp -T $QT_BASE_LIB_DIR/libQtGui.so.4.8.3 $DEPLOY_DIR/lib/libQtGui.so.4
cp -T $QT_BASE_PLUGINS_DIR/imageformats/libqgif.so $DEPLOY_DIR/lib/imageformats/libqgif.so
cp -T $OUTPUT/robomongo $DEPLOY_DIR/bin/robomongo
cp -T $LINUX_TEMPLATE/robomongo.sh $DEPLOY_DIR/robomongo.sh
cp -T $LINUX_TEMPLATE/README.txt $DEPLOY_DIR/README.txt
cd $OUTPUT
tar cvzf robomongo-$VERSION.tar.gz robomongo-$VERSION/
else
echo "This script works only for Mac OS X and Linux."
fi
-3
View File
@@ -1,3 +0,0 @@
#!/bin/bash
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.
./robomongo
-28
View File
@@ -1,28 +0,0 @@
@echo off
setlocal enableextensions enabledelayedexpansion
rem -----------------------------------
rem - Configuration
rem -----------------------------------
rem mode is a first arg
set MODE=%1
rem if mode wasnt specified - debug mode assumed
if %1. ==. (
set MODE=debug
)
rem if not 'debug' AND 'release' - print error message
if not %MODE% == debug (
if not %MODE% == release (
if not %MODE% == all (
echo.
echo Specified mode ^(%MODE%^) is unsupported.
exit /b 1
)
)
)
call clean.bat %MODE%
call build.bat %MODE%
-33
View File
@@ -1,33 +0,0 @@
# ****************
# Configuration
# ****************
MODE=debug
LIBS=
while getopts ":dral:" opt; do
case $opt in
d) MODE=debug ;;
r) MODE=release ;;
a) MODE=all ;;
l) LIBS=$OPTARG ;;
\?)
echo "Invalid option: -$OPTARG" >&2
exit 1
;;
:)
echo "Option -$OPTARG requires an argument." >&2
exit 1
;;
esac
done
if [[ $MODE != "release" ]] && [[ $MODE != "debug" ]] && [[ $MODE != "all" ]]; then
echo
echo -e "\e[00;31m Specified mode ($MODE) is unsupported.\e[00m"
echo
exit 1
fi
# clean and build
./clean.sh $@
./build.sh $@
+169
View File
@@ -0,0 +1,169 @@
#
# Find the MongoDB libraries
#
# This module defines the following variables:
# MongoDB_FOUND
# MongoDB_LIBS
# MongoDB_INCLUDE_DIRS
# MongoDB_DEFINITIONS
#
# Imported target "mongodb" is created
#
# We assume, that at least "mongo" target was build by the following command:
# $ scons mongo
#
#
# Try to find MongoDB directory (uses CMAKE_PREFIX_PATH locations)
find_path(
MongoDB_DIR src/mongo/config.h.in
DOC "Path to MongoDB (github.com/robomongo-shell) root directory"
)
# Find relative path to build directory
if(BUILD_RELEASE OR BUILD_RELWITHDEBINFO OR BUILD_MINSIZEREL)
set(MongoDB_RELATIVE_BUILD_DIR build/opt)
set(MongoDB_OBJECT_LIST_BUILD_TYPE_PART release)
elseif(BUILD_DEBUG)
set(MongoDB_RELATIVE_BUILD_DIR build/debug)
set(MongoDB_OBJECT_LIST_BUILD_TYPE_PART debug)
endif()
# Set absolute path to build directory
set(MongoDB_BUILD_DIR ${MongoDB_DIR}/${MongoDB_RELATIVE_BUILD_DIR})
# Set commong compiler definitons
set(MongoDB_DEFINITIONS
PCRE_STATIC
BOOST_THREAD_VERSION=4
BOOST_THREAD_DONT_PROVIDE_VARIADIC_THREAD
BOOST_THREAD_NO_DEPRECATED
BOOST_THREAD_DONT_PROVIDE_INTERRUPTIONS
BOOST_THREAD_HAS_BUG
MONGO_CONFIG_HAVE_HEADER_UNISTD_H
# Suppress "warning C4996: std::allocator..." from third_party\abseil-cpp-master
_SILENCE_CXX17_OLD_ALLOCATOR_MEMBERS_DEPRECATION_WARNING
# Suppress "warning C4996: std::iterator..." from third_party\mozjs-60
_SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING
)
# Set common compiler include directories
set(MOZJS_VER mozjs-60)
set(MongoDB_INCLUDE_DIRS
${MongoDB_DIR}/src
${MongoDB_DIR}/src/third_party/abseil-cpp-master/abseil-cpp
${MongoDB_DIR}/src/third_party/boost-1.70.0
${MongoDB_DIR}/src/third_party/fmt/dist/include
${MongoDB_DIR}/src/third_party/${MOZJS_VER}/include
${MongoDB_DIR}/src/third_party/${MOZJS_VER}/mongo_sources
${MongoDB_DIR}/src/third_party/pcre-8.42
${MongoDB_DIR}/src/third_party/SafeInt
${MongoDB_BUILD_DIR}
)
if(SYSTEM_LINUX)
set(MongoDB_OBJECT_LIST_PLATFORM_PART linux)
list(APPEND MongoDB_INCLUDE_DIRS
${MongoDB_DIR}/src/third_party/${MOZJS_VER}/platform/x86_64/linux/include)
elseif(SYSTEM_WINDOWS)
set(MongoDB_OBJECT_LIST_PLATFORM_PART windows)
list(APPEND MongoDB_INCLUDE_DIRS
${MongoDB_DIR}/src/third_party/${MOZJS_VER}/platform/x86_64/windows/include)
elseif(SYSTEM_MACOSX)
set(MongoDB_OBJECT_LIST_PLATFORM_PART macosx)
list(APPEND MongoDB_INCLUDE_DIRS
${MongoDB_DIR}/src/third_party/${MOZJS_VER}/platform/x86_64/macOS/include)
elseif(SYSTEM_FREEBSD)
set(MongoDB_OBJECT_LIST_PLATFORM_PART freebsd)
list(APPEND MongoDB_INCLUDE_DIRS
${MongoDB_DIR}/src/third_party/${MOZJS_VER}/platform/x86_64/freebsd/include)
elseif(SYSTEM_OPENBSD)
set(MongoDB_OBJECT_LIST_PLATFORM_PART openbsd)
list(APPEND MongoDB_INCLUDE_DIRS
${MongoDB_DIR}/src/third_party/${MOZJS_VER}/platform/x86_64/openbsd/include)
endif()
# Read list of object files
# See "mongodb/README.md" file (relative to the current folder) for more information.
file(READ
${CMAKE_CURRENT_LIST_DIR}/mongodb/${MongoDB_OBJECT_LIST_PLATFORM_PART}-${MongoDB_OBJECT_LIST_BUILD_TYPE_PART}.objects
MongoDB_RELATIVE_LIBS)
string(STRIP "${MongoDB_RELATIVE_LIBS}" MongoDB_RELATIVE_LIBS)
# Convert string to list
string(REPLACE " " ";" MongoDB_RELATIVE_LIBS ${MongoDB_RELATIVE_LIBS})
# todo: Find a better solution
# Robo 1.4: Added as workaround fix for build error:
# fatal error LNK1170: line in command file contains 131071 or more characters
# Happens when the path of robo-shell is a long string (e.g. "E:/user/code/robomongo-shell")
set(MongoDB_OBJECTS_DIR_ENV $ENV{MongoDB_OBJECTS})
if(MongoDB_OBJECTS_DIR_ENV)
set(MongoDB_OBJECTS_DIR ${MongoDB_OBJECTS_DIR_ENV})
else()
set(MongoDB_OBJECTS_DIR ${MongoDB_DIR})
endif()
# Convert to absolute path
foreach(lib ${MongoDB_RELATIVE_LIBS})
list(APPEND MongoDB_LIBS ${MongoDB_OBJECTS_DIR}/${lib})
endforeach()
if(SYSTEM_WINDOWS)
list(APPEND MongoDB_LIBS Crypt32.lib Secur32.lib Dnsapi.lib winhttp.lib)
elseif(SYSTEM_MACOSX)
list(APPEND MongoDB_LIBS -lcurl)
elseif(SYSTEM_LINUX)
list(APPEND MongoDB_LIBS -lresolv -lcurl)
endif()
# Get MongoDB repository recent tag
execute_process(
COMMAND git describe --abbrev=0 --tags
WORKING_DIRECTORY ${MongoDB_DIR}
OUTPUT_VARIABLE MongoDB_RECENT_TAG
OUTPUT_STRIP_TRAILING_WHITESPACE
)
# Handle the QUIETLY and REQUIRED arguments and set ALSA_FOUND to TRUE if
# all listed variables are TRUE
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(MongoDB
FOUND_VAR MongoDB_FOUND # When using CMake 3.0 MONGODB_FOUND variable will be created.
# Make it explicit that variable name is MongoDB_FOUND.
REQUIRED_VARS MongoDB_DIR MongoDB_BUILD_DIR
VERSION_VAR MongoDB_RECENT_TAG
FAIL_MESSAGE "Could not find Robomongo Shell (MongoDB fork). Make sure that CMAKE_PREFIX_PATH points to Robomongo Shell project root.\n")
if(MongoDB_FOUND)
set(MongoDB_VERSION ${MongoDB_RECENT_TAG})
# Original MongoDB link command has the following in the end: m rt dl
set(MongoDB_LIBS
${LINK_WHOLE_ARCHIVE_START} # Linux: -Wl,--whole-archive
${LINK_LIBGROUP_START} # Linux: -Wl,--start-group
${MongoDB_LIBS}
${LINK_LIBGROUP_END} # Linux: -Wl,--end-group
${LINK_WHOLE_ARCHIVE_END} # Linux: -Wl,--no-whole-archive
${CMAKE_DL_LIBS} # Linux: dl
)
# Add imported target
add_library(mongodb INTERFACE IMPORTED)
# Specify INTERFACE properties for this target
set_target_properties(mongodb PROPERTIES
INTERFACE_LINK_LIBRARIES "${MongoDB_LIBS}"
INTERFACE_COMPILE_DEFINITIONS "${MongoDB_DEFINITIONS}"
INTERFACE_INCLUDE_DIRECTORIES "${MongoDB_INCLUDE_DIRS}"
)
endif()
# Cleanup
unset(MongoDB_OBJECT_LIST_BUILD_TYPE_PART)
unset(MongoDB_OBJECT_LIST_PLATFORM_PART)
unset(MongoDB_RELATIVE_BUILD_DIR)
unset(MongoDB_RELATIVE_LIBS)
unset(MongoDB_RECENT_TAG)
+129
View File
@@ -0,0 +1,129 @@
##################################################
# Find and Add OpenSSL shared (dynamic) library
#
# - This module defines the following variables:
# OpenSSL_DIR
# OPENSSL_VERSION
#
# - Imported shared(dynamic) libraries "ssl" and "crypto" are created.
#
# - It is assumed that OpenSSL has been built and path to OpenSSL build directory is
# added into system(environment) variable ROBOMONGO_CMAKE_PREFIX_PATH.
#
##################################################
# Try to find OpenSSL directory (uses CMAKE_PREFIX_PATH locations)
#-------------------------------------------
find_path(
OpenSSL_DIR include/openssl/ssl.h
DOC "Path to OpenSSL (github.com/openssl/openssl) root directory"
)
# Find OpenSSL version
#-------------------------------------------
set (OPENSSL_INCLUDE_DIR "${OpenSSL_DIR}/include")
function(from_hex HEX DEC)
string(TOUPPER "${HEX}" HEX)
set(_res 0)
string(LENGTH "${HEX}" _strlen)
while (_strlen GREATER 0)
math(EXPR _res "${_res} * 16")
string(SUBSTRING "${HEX}" 0 1 NIBBLE)
string(SUBSTRING "${HEX}" 1 -1 HEX)
if (NIBBLE STREQUAL "A")
math(EXPR _res "${_res} + 10")
elseif (NIBBLE STREQUAL "B")
math(EXPR _res "${_res} + 11")
elseif (NIBBLE STREQUAL "C")
math(EXPR _res "${_res} + 12")
elseif (NIBBLE STREQUAL "D")
math(EXPR _res "${_res} + 13")
elseif (NIBBLE STREQUAL "E")
math(EXPR _res "${_res} + 14")
elseif (NIBBLE STREQUAL "F")
math(EXPR _res "${_res} + 15")
else()
math(EXPR _res "${_res} + ${NIBBLE}")
endif()
string(LENGTH "${HEX}" _strlen)
endwhile()
set(${DEC} ${_res} PARENT_SCOPE)
endfunction()
if (OPENSSL_INCLUDE_DIR)
if(OPENSSL_INCLUDE_DIR AND EXISTS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h")
file(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h" openssl_version_str
REGEX "^#[\t ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x([0-9a-fA-F])+.*")
# The version number is encoded as 0xMNNFFPPS: major minor fix patch status
# The status gives if this is a developer or prerelease and is ignored here.
# Major, minor, and fix directly translate into the version numbers shown in
# the string. The patch field translates to the single character suffix that
# indicates the bug fix state, which 00 -> nothing, 01 -> a, 02 -> b and so
# on.
string(REGEX REPLACE "^.*OPENSSL_VERSION_NUMBER[\t ]+0x([0-9a-fA-F])([0-9a-fA-F][0-9a-fA-F])([0-9a-fA-F][0-9a-fA-F])([0-9a-fA-F][0-9a-fA-F])([0-9a-fA-F]).*$"
"\\1;\\2;\\3;\\4;\\5" OPENSSL_VERSION_LIST "${openssl_version_str}")
list(GET OPENSSL_VERSION_LIST 0 OPENSSL_VERSION_MAJOR)
list(GET OPENSSL_VERSION_LIST 1 OPENSSL_VERSION_MINOR)
from_hex("${OPENSSL_VERSION_MINOR}" OPENSSL_VERSION_MINOR)
list(GET OPENSSL_VERSION_LIST 2 OPENSSL_VERSION_FIX)
from_hex("${OPENSSL_VERSION_FIX}" OPENSSL_VERSION_FIX)
list(GET OPENSSL_VERSION_LIST 3 OPENSSL_VERSION_PATCH)
if (NOT OPENSSL_VERSION_PATCH STREQUAL "00")
from_hex("${OPENSSL_VERSION_PATCH}" _tmp)
# 96 is the ASCII code of 'a' minus 1
math(EXPR OPENSSL_VERSION_PATCH_ASCII "${_tmp} + 96")
unset(_tmp)
# Once anyone knows how OpenSSL would call the patch versions beyond 'z'
# this should be updated to handle that, too. This has not happened yet
# so it is simply ignored here for now.
string(ASCII "${OPENSSL_VERSION_PATCH_ASCII}" OPENSSL_VERSION_PATCH_STRING)
endif ()
set(OPENSSL_VERSION "${OPENSSL_VERSION_MAJOR}.${OPENSSL_VERSION_MINOR}.${OPENSSL_VERSION_FIX}${OPENSSL_VERSION_PATCH_STRING}")
endif ()
endif ()
# Add imported ssl and crypto libraries
#-------------------------------------------
# Add imported target ssl (ssleay32)
add_library(ssl SHARED IMPORTED)
# Add imported target for crypto (libeay32)
add_library(crypto SHARED IMPORTED)
# todo: refactor
if(SYSTEM_WINDOWS)
set_target_properties(ssl PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${OpenSSL_DIR}/include"
IMPORTED_IMPLIB "${OpenSSL_DIR}/libssl.lib"
)
set_target_properties(crypto PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${OpenSSL_DIR}/include"
IMPORTED_IMPLIB "${OpenSSL_DIR}/libcrypto.lib"
)
else()
if(SYSTEM_MACOSX)
SET(EXT "dylib")
elseif(SYSTEM_LINUX)
SET(EXT "so")
endif()
set_target_properties(ssl PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${OpenSSL_DIR}/include"
IMPORTED_LOCATION "${OpenSSL_DIR}/libssl.${EXT}"
)
set_target_properties(crypto PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${OpenSSL_DIR}/include"
IMPORTED_LOCATION "${OpenSSL_DIR}/libcrypto.${EXT}"
)
endif()
# End of file
+21
View File
@@ -0,0 +1,21 @@
# This wrapper is created in order to support CMake 3.0
# Only starting from CMake 3.1 "Threads" module exports
# "Threads::Threads" target.
find_package(Threads REQUIRED)
# Support for CMake 3.0
# Export "Threads::Threads" imported target if it wasn't exported.
# This lines are taken from the "FindThreads.cmake" of CMake 3.1:
# https://github.com/Kitware/CMake/blob/v3.1.0/Modules/FindThreads.cmake
if(THREADS_FOUND AND NOT TARGET Threads::Threads)
add_library(Threads::Threads INTERFACE IMPORTED)
if(THREADS_HAVE_PTHREAD_ARG)
set_property(TARGET Threads::Threads PROPERTY INTERFACE_COMPILE_OPTIONS "-pthread")
endif()
if(CMAKE_THREAD_LIBS_INIT)
set_property(TARGET Threads::Threads PROPERTY INTERFACE_LINK_LIBRARIES "${CMAKE_THREAD_LIBS_INIT}")
endif()
endif()
+32
View File
@@ -0,0 +1,32 @@
# Put the include dirs which are in the source or build tree
# before all other include dirs, so the headers in the sources
# are prefered over the already installed ones
# Since cmake 2.4.1
set(CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE ON)
# Use colored output
# Since cmake 2.4.0
set(CMAKE_COLOR_MAKEFILE ON)
# MongoDB compiled with this option
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
# This variable is used by CMake "FindThreads" module
# From documentation to FindThreads module:
# > Please note that the compiler flag can only be
# > used with the imported target. Use of both the imported
# > target as well as this switch is highly recommended for new code.
set(THREADS_PREFER_PTHREAD_FLAG ON)
# Set the default build type to release with debug info
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE RelWithDebInfo
CACHE STRING "Choose the type of build, options are: Debug, Release, RelWithDebInfo, MinSizeRel and None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used)"
FORCE)
endif()
# Do not use Qt moc, uic and rcc by default
# Since CMake 2.8.6
set(CMAKE_AUTOMOC OFF)
set(CMAKE_AUTORCC OFF)
set(CMAKE_AUTOUIC OFF)
+3
View File
@@ -0,0 +1,3 @@
set(ROBOMONGO_DISPLAY_NAME "Robo 3T")
set(ROBOMONGO_DISPLAY_FULL_NAME "Robo 3T ${PROJECT_VERSION}")
+63
View File
@@ -0,0 +1,63 @@
# Set MONGO_BUILD_FOLDER
set(MONGO_BUILD_FOLDER "build/opt") # Release
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
set(MONGO_BUILD_FOLDER "build/debug")
endif()
# Show configuration summary and build tip
message("")
message(" _______________[ Robo 3T configuration summary ]________________")
message("| ")
message("|-- Dependencies:")
message("| ")
message("| Qt5 Core: ${Qt5Core_VERSION} ${Qt5Core_DIR}")
message("| Qt5 Gui: ${Qt5Gui_VERSION} ${Qt5Gui_DIR}")
message("| Qt5 Widgets: ${Qt5Widgets_VERSION} ${Qt5Widgets_DIR}")
message("| Qt5 PrintSupport: ${Qt5Widgets_VERSION} ${Qt5PrintSupport_DIR}")
message("| Qt5 Network: ${Qt5Network_VERSION} ${Qt5Network_DIR}")
message("| Qt5 Xml: ${Qt5Xml_VERSION} ${Qt5Xml_DIR}")
if(NOT SYSTEM_LINUX)
message("| Qt5 WebEng*Widgets: ${Qt5WebEngineWidgets_VERSION} ${Qt5WebEngineWidgets_DIR}")
endif()
message("| MongoDB: ${MongoDB_VERSION} ${MongoDB_DIR}")
message("| MongoDB Objects: ${MongoDB_VERSION} ${MongoDB_OBJECTS_DIR}/${MONGO_BUILD_FOLDER}")
message("| OpenSSL: ${OPENSSL_VERSION} ${OpenSSL_DIR}")
message("| libssh2: ${LIBSSH2_VERSION} ${LIBSSH2_DIR}")
message("| QJson: ${QJSON_VERSION} ${QJSON_DIR}")
message("| QScintilla: ${QSCINTILLA_VERSION} ${QSCINTILLA_DIR}")
message("| Google Test: ${GOOGLE_TEST_VERSION} ${GOOGLE_TEST_DIR}")
message("| ESPRIMA: ${ESPRIMA_VERSION} ${ESPRIMA_DIR}")
message("|")
message("|-- Summary:")
message("|")
message("| Version: ${PROJECT_VERSION}")
message("| System: ${CMAKE_SYSTEM_NAME}")
if (SYSTEM_MACOSX)
message("| Target SDK: ${CMAKE_OSX_DEPLOYMENT_TARGET}")
endif()
message("| Build type: ${CMAKE_BUILD_TYPE}")
message("| Commit: ${BUILD_NUMBER}")
message("| Install path: ${CMAKE_INSTALL_PREFIX}")
message("|")
message("|-- Build, Run and Install:")
message("| ")
message("| $ bin/build")
message("| $ bin/run")
message("| $ bin/install")
message("|")
message("|-- Run Unit Tests:")
message("| ")
message("| $ bin/build-and-run-tests")
message("| $ bin/run-tests")
message("|")
message("|-- Run Static Code Analysis:")
message("|")
if (SYSTEM_WINDOWS)
message("| $ bin/run-cppcheck <FILE_PATH OR DIR> (Default: /src/robomongo/)")
message("| $ bin/run-vs-code-analysis")
else()
message("| $ bin/run-clang-tidy")
message("| $ bin/run-scan-build")
endif()
message("|__________________________________________________________________")
message("")
+78
View File
@@ -0,0 +1,78 @@
# This files defines:
#
# 1) Platform checks
#
# SYSTEM_MACOSX
# SYSTEM_WINDOWS
# SYSTEM_LINUX
# SYSTEM_FREEBSD
# SYSTEM_OPENBSD
# SYSTEM_NETBSD
#
# 2) Build types checks
#
# BUILD_DEBUG
# BUILD_RELEASE
# BUILD_RELWITHDEBINFO
# BUILD_MINSIZEREL
#
# 3) Link "lib groups" and "whole-archive" options
#
# LINK_LIBGROUP_START
# LINK_LIBGROUP_END
# LINK_WHOLE_ARCHIVE_START
# LINK_WHOLE_ARCHIVE_END
# Platform checks
if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
set(SYSTEM_MACOSX TRUE)
elseif(CMAKE_SYSTEM_NAME MATCHES "Windows")
set(SYSTEM_WINDOWS TRUE)
elseif(CMAKE_SYSTEM_NAME MATCHES "Linux")
set(SYSTEM_LINUX TRUE)
elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
set(SYSTEM_FREEBSD TRUE)
set(SYSTEM_BSD TRUE)
elseif(CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
set(SYSTEM_OPENBSD TRUE)
set(SYSTEM_BSD TRUE)
elseif(CMAKE_SYSTEM_NAME MATCHES "NetBSD")
set(SYSTEM_NETBSD TRUE)
set(SYSTEM_BSD TRUE)
endif()
# Build types
if("${CMAKE_BUILD_TYPE}" MATCHES "Debug")
set(BUILD_DEBUG TRUE)
elseif("${CMAKE_BUILD_TYPE}" MATCHES "Release")
set(BUILD_RELEASE TRUE)
elseif("${CMAKE_BUILD_TYPE}" MATCHES "RelWithDebInfo")
set(BUILD_RELWITHDEBINFO TRUE)
elseif("${CMAKE_BUILD_TYPE}" MATCHES "MinSizeRel")
set(BUILD_MINSIZEREL TRUE)
endif()
# Compiler checks
# We check Clang using MATCH instead of strict equality, because as of CMake 3.0.0 the
# CMAKE_<LANG>_COMPILER_ID value for Apple-provided Clang is AppleClang. To test
# for both the Apple-provided Clang and the regular Clang we use MATCH.
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
set(COMPILER_CLANG TRUE)
elseif(CMAKE_CXX_COMPILER_ID MATCHES "^GNU$")
set(COMPILER_GCC TRUE)
elseif(CMAKE_CXX_COMPILER_ID MATCHES "^MSVC$")
set(COMPILER_MSVC TRUE)
endif()
# Link "groups" and "whole-archive" options
if(SYSTEM_LINUX OR SYSTEM_FREEBSD OR SYSTEM_OPENBSD)
set(LINK_LIBGROUP_START -Wl,--start-group)
set(LINK_LIBGROUP_END -Wl,--end-group)
set(LINK_WHOLE_ARCHIVE_START -Wl,--whole-archive)
set(LINK_WHOLE_ARCHIVE_END -Wl,--no-whole-archive)
elseif(SYSTEM_MACOSX)
set(LINK_LIBGROUP_START "")
set(LINK_LIBGROUP_END "")
set(LINK_WHOLE_ARCHIVE_START -Wl,-all_load)
set(LINK_WHOLE_ARCHIVE_END -Wl,-noall_load)
endif()
+159
View File
@@ -0,0 +1,159 @@
# Note for maintainers
# --------------------
#
# Do not use absolute paths in DESTINATION arguments for install() command.
# Because the same install code will be executed again by CPack. And CPack will
# change internally CMAKE_INSTALL_PREFIX to point to some temporary folder
# for package content.
#
#
# Temporary change
set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/install"
CACHE STRING "Install path prefix, prepended onto install directories"
FORCE)
if(SYSTEM_LINUX)
set(bin_dir bin)
set(lib_dir lib)
set(resources_dir share)
set(license_dir .)
set(qt_plugins_dir ${lib_dir})
set(qt_conf_dir ${bin_dir})
set(qt_conf_plugins "../lib")
elseif(SYSTEM_MACOSX)
set(bundle_name "Robo 3T.app")
set(contents_path ${bundle_name}/Contents)
set(bin_dir ${contents_path}/MacOS)
set(styles_dir ${contents_path}/MacOS/styles)
set(lib_dir ${contents_path}/Frameworks)
set(resources_dir ${contents_path}/Resources)
set(license_dir ${resources_dir})
set(qt_plugins_dir ${contents_path}/PlugIns/Qt)
set(qt_conf_dir ${resources_dir})
set(qt_conf_plugins "PlugIns/Qt")
elseif(SYSTEM_WINDOWS)
set(bin_dir .)
set(styles_dir ${bin_dir}/styles)
set(lib_dir .)
set(resources_dir ./resources)
set(license_dir .)
set(qt_plugins_dir ${lib_dir})
set(qt_conf_dir ${bin_dir})
set(qt_conf_plugins .)
endif()
# Generate qt.conf file
configure_file(
"${CMAKE_SOURCE_DIR}/install/qt.conf.in"
"${CMAKE_BINARY_DIR}/qt.conf")
# Install qt.conf file
install(
FILES "${CMAKE_BINARY_DIR}/qt.conf"
DESTINATION "${qt_conf_dir}")
# Install OpenSSL dynamic lib files
if(SYSTEM_WINDOWS)
install(
FILES
"${OpenSSL_DIR}/libssl-1_1-x64.dll"
"${OpenSSL_DIR}/libcrypto-1_1-x64.dll"
DESTINATION ${bin_dir})
elseif(SYSTEM_MACOSX)
install(
FILES
"${OpenSSL_DIR}/libssl.1.1.dylib"
"${OpenSSL_DIR}/libcrypto.1.1.dylib"
DESTINATION ${lib_dir}/lib)
elseif(SYSTEM_LINUX)
install(
FILES
"${OpenSSL_DIR}/libssl.so"
"${OpenSSL_DIR}/libssl.so.1.0.0"
"${OpenSSL_DIR}/libcrypto.so"
"${OpenSSL_DIR}/libcrypto.so.1.0.0"
DESTINATION ${lib_dir})
endif()
# Install binary
install(
TARGETS robomongo
RUNTIME DESTINATION ${bin_dir}
BUNDLE DESTINATION .)
# Install license, copyright and changelogs files
install(
FILES
${CMAKE_SOURCE_DIR}/LICENSE
${CMAKE_SOURCE_DIR}/COPYRIGHT
${CMAKE_SOURCE_DIR}/CHANGELOG
${CMAKE_SOURCE_DIR}/DESCRIPTION
DESTINATION ${license_dir})
# Install common dependencies
SET(QT_LIBS Core Gui Widgets PrintSupport Network Xml)
if(NOT SYSTEM_LINUX)
SET(QT_LIBS ${QT_LIBS} WebEngineWidgets WebEngineCore Quick
QuickWidgets WebChannel Qml Positioning)
endif()
install_qt_lib(${QT_LIBS})
install_qt_plugins(QGifPlugin QICOPlugin)
install_icu_libs()
set(QT_STYLES_DIR ${Qt5Core_DIR}/../../../plugins/styles/)
set(QT_BIN_DIR ${Qt5Core_DIR}/../../../bin/)
set(QT_RESOURCES_DIR ${Qt5Core_DIR}/../../../resources/)
if(SYSTEM_LINUX)
install_qt_lib(XcbQpa DBus)
install_qt_plugins(
QXcbIntegrationPlugin)
install(
FILES
"/usr/lib/x86_64-linux-gnu/libstdc++.so.6"
"/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28"
DESTINATION ${lib_dir})
elseif(SYSTEM_MACOSX)
install_qt_lib(MacExtras DBus)
install_qt_plugins(
QCocoaIntegrationPlugin
QMinimalIntegrationPlugin
QOffscreenIntegrationPlugin)
# Install icon
install(
FILES "${CMAKE_SOURCE_DIR}/install/macosx/robomongo.icns"
DESTINATION "${resources_dir}")
# Install styles
install(FILES "${QT_STYLES_DIR}/libqmacstyle.dylib" DESTINATION ${styles_dir})
elseif(SYSTEM_WINDOWS)
install_qt_plugins(
QWindowsIntegrationPlugin
QMinimalIntegrationPlugin
QOffscreenIntegrationPlugin)
# Qt WebEngine dependencies
install(DIRECTORY ${QT_RESOURCES_DIR} DESTINATION ${resources_dir})
install(FILES
"${QT_BIN_DIR}/libEGL.dll"
"${QT_BIN_DIR}/libGLESv2.dll"
"${QT_BIN_DIR}/opengl32sw.dll"
"${QT_BIN_DIR}/QtWebEngineProcess.exe"
DESTINATION ${bin_dir})
# Install Styles
install(FILES "${QT_STYLES_DIR}/qwindowsvistastyle.dll" DESTINATION ${styles_dir})
# Install runtime libraries:
# msvcp120.dll
# msvcr120.dll
set(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION .)
include(InstallRequiredSystemLibraries)
endif()
+106
View File
@@ -0,0 +1,106 @@
function(install_qt_lib)
foreach(module ${ARGV})
set(target_name Qt5::${module})
set(module_name Qt5${module})
# Get full path to some known Qt library (i.e. /path/to/lib/libQt5Widgets.so.5.5.1)
get_target_property(target_path Qt5::Core LOCATION)
# Get folder path of library (i.e. /path/to/lib)
get_filename_component(qt_lib_dir ${target_path} DIRECTORY)
if (SYSTEM_LINUX)
# Not very good solution, but we simply take all files with *Qt5<module>* in names (including symlinks)
file(GLOB module_libs ${qt_lib_dir}/${CMAKE_SHARED_LIBRARY_PREFIX}${module_name}*)
# Install to "lib" folder
install(FILES ${module_libs}
DESTINATION ${lib_dir})
endif()
if(SYSTEM_MACOSX)
set(module_name Qt${module})
# On Mac OS we are still located in .framework folder,
# and we need to go one level up
get_filename_component(qt_lib_dir ${qt_lib_dir} DIRECTORY)
install(
DIRECTORY ${qt_lib_dir}/${module_name}.framework
DESTINATION ${lib_dir}
USE_SOURCE_PERMISSIONS
PATTERN "*_debug" EXCLUDE # Exclude debug libraries
PATTERN "Headers" EXCLUDE) # Exclude Headers folders
endif()
if (SYSTEM_WINDOWS)
# Install single DLL to lib directory
install(FILES ${qt_lib_dir}/${module_name}${CMAKE_SHARED_LIBRARY_SUFFIX}
DESTINATION ${lib_dir})
endif()
endforeach()
endfunction()
function(install_icu_libs)
# We are trying to get 'lib' folder of Qt installation.
# For this we take some known target (Qt5::Core in this case)
# and taking path to this library.
# Get full path to known library (i.e. /path/to/lib/libQt5Core.so.5.5.1)
get_target_property(target_path Qt5::Core LOCATION)
# Get absolute path to 'lib' folder (which is a parent folder of 'known' library)
get_filename_component(qt_lib_dir ${target_path} DIRECTORY)
# Not very good solution, but we simply take all files with *icu* in names (including symlinks)
file(GLOB icu_libs ${qt_lib_dir}/${CMAKE_SHARED_LIBRARY_PREFIX}icu*)
# Install to "lib" folder
install(FILES ${icu_libs}
DESTINATION ${lib_dir})
endfunction()
# Installs Qt5 plugins. Uses value of global variable "qt_plugins_dir" as
# absolute path to where install plugins.
#
# You can find list of plugin names by examing this variable: Qt5<Module>_PLUGINS
# For example, Qt5Gui_PLUGINS.
#
# Debug plugins, running application in this way:
# QT_DEBUG_PLUGINS=1 ./yourapp
#
# Some examples of plugin names:
# QGifPlugin, QGtk2ThemePlugin, QIbusPlatformInputContextPlugin
#
# Sample:
# install_qt_plugins(QGifPlugin QGtk2ThemePlugin QIbusPlatformInputContextPlugin)
#
function(install_qt_plugins)
foreach(name ${ARGV})
set(target_name Qt5::${name})
# We are trying to get 'plugins' folder of Qt installation.
# Get full path to plugin library (i.e. /path/to/plugins/imageformats/libqgif.so)
get_target_property(target_path ${target_name} LOCATION)
# Get absolute path to parent folder (i.e. /path/to/plugins/imageformats for Qt5::QGifPlugin)
get_filename_component(plugin_dir ${target_path} DIRECTORY)
# Get plugin parent directory (i.e. "imageformats" for Qt5::QGifPlugin)
get_filename_component(plugin_dir_name ${plugin_dir} NAME)
# Get plugin file name (i.e. "libqgif.so" for Qt5::QGifPlugin)
get_filename_component(plugin_file_name ${target_path} NAME)
# Get absolute path to plugins folder (i.e. /path/to/plugins)
get_filename_component(plugins_dir ${plugin_dir} DIRECTORY)
# Install to "lib" folder
install(
FILES ${target_path}
DESTINATION ${qt_plugins_dir}/${plugin_dir_name})
endforeach()
endfunction()
+120
View File
@@ -0,0 +1,120 @@
# Notes for maintainers.
#
# 1. Make sure that we use only lowercase letters in file name of outputed
# package for all platforms and package types.
#
# Get last commit hash
execute_process(
COMMAND git rev-parse --short HEAD
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE git_hash
OUTPUT_STRIP_TRAILING_WHITESPACE)
# Timestamp (not used for now)
string(TIMESTAMP timestamp "%Y-%m-%d")
# Package name (as it should appear in UI)
set(CPACK_PACKAGE_NAME robo3t)
# Version of the package
set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR})
set(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH})
set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
# Where to put generated package
set(CPACK_PACKAGE_DIRECTORY ${CMAKE_BINARY_DIR}/package)
# Disables the component-based install process for installers
# that support it (NSIS, for instance)
set(CPACK_MONOLITHIC_INSTALL ON)
# Strip debug information on platforms that support it
set(CPACK_STRIP_FILES ON)
# Additional information
set(CPACK_PACKAGE_VENDOR "3T Software Labs Ltd")
set(CPACK_PACKAGE_CONTACT robo3t@3t.io)
set(CPACK_PACKAGE_DESCRIPTION "Shell-centric cross-platform MongoDB management tool.")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Robo 3T is a shell-centric cross-platform MongoDB management tool.")
# Use lowercase for system name and package file name
string(TOLOWER ${CMAKE_SYSTEM_NAME} system_name)
string(TOLOWER ${CPACK_PACKAGE_NAME} package_file_name)
string(TOLOWER ${CPACK_PACKAGE_VERSION} package_file_version)
# We use function from TargetArch.cmake module
# Returns string with target architecture value
# Output for common architectures is: i386 or x86_64
target_architecture(target_arch)
# Package file name
set(CPACK_PACKAGE_FILE_NAME ${package_file_name}-${package_file_version}-${system_name}-${target_arch}-${git_hash})
if(SYSTEM_LINUX)
set(CPACK_GENERATOR TGZ)
elseif(SYSTEM_MACOSX)
set(CPACK_GENERATOR DragNDrop)
set(CPACK_DMG_DS_STORE ${CMAKE_SOURCE_DIR}/install/macosx/DMG_DS_Store)
elseif(SYSTEM_WINDOWS)
set(files_dir "${CMAKE_SOURCE_DIR}/install/windows")
set(exe_name "robo3t.exe")
set(CPACK_GENERATOR NSIS ZIP)
set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/DESCRIPTION")
# License file will be shown in the installation wizard
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE")
# Default installation directory (not full path), just the path after
# default "c:\Program Files"
set(CPACK_PACKAGE_INSTALL_DIRECTORY "${ROBOMONGO_DISPLAY_FULL_NAME}")
# A path to the executable inside installed package that contains icon
# This icon is used in Windows "Add or remove programs" control panel
set(CPACK_NSIS_INSTALLED_ICON_NAME "\\\\${exe_name}")
# Create shortcuts on desktop and start-up menu
set(CPACK_NSIS_CREATE_ICONS_EXTRA "
CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\${ROBOMONGO_DISPLAY_FULL_NAME}.lnk' '$INSTDIR\\\\${exe_name}'
CreateShortCut '$DESKTOP\\\\${ROBOMONGO_DISPLAY_FULL_NAME}.lnk' '$INSTDIR\\\\${exe_name}'
")
# Cleanup during uninstallation. This cleanup is required because shortcuts
# will not be deleted automatically.
# Without line '!insertmacro...' shortcut in start menu will not be removed
# (i.e. it doesn't work when we referece '$STARTMENU_FOLDER' that is used
# when creating shortcuts). This solution was found somewhere in internet.
set(CPACK_NSIS_DELETE_ICONS_EXTRA "
!insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
Delete '$DESKTOP\\\\${ROBOMONGO_DISPLAY_FULL_NAME}.lnk'
Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\${ROBOMONGO_DISPLAY_FULL_NAME}.lnk'
")
# The title displayed at the top of the installer
set(CPACK_NSIS_PACKAGE_NAME "${ROBOMONGO_DISPLAY_FULL_NAME}")
# Installer images (for sidebar and topbar)
set(CPACK_PACKAGE_ICON "${files_dir}\\\\nsis-topbar.bmp")
set(CPACK_NSIS_INSTALLER_MUI_ICON_CODE "!define MUI_WELCOMEFINISHPAGE_BITMAP \\\"${files_dir}\\\\nsis-sidebar.bmp\\\"")
# URL to a web site providing more information about application
# This url was noticed at least in "Add or remove programs" control
# panel.
set(CPACK_NSIS_URL_INFO_ABOUT "www.robomongo.org")
# Specify an executable to add an option to run on the finish
# page of the NSIS installer. Without "..\\\\" it dowsn't work for NSIS 2.5
set(CPACK_NSIS_MUI_FINISHPAGE_RUN "..\\\\${exe_name}")
# Trying to set for installer and uninstaller, but this is
# doesn't work and default icons are still used...
set(CPACK_NSIS_MUI_ICON "${files_dir}\\\\robomongo.ico")
set(CPACK_NSIS_MUI_UNIICON "${files_dir}\\\\robomongo.ico")
endif()
include(CPack)
+123
View File
@@ -0,0 +1,123 @@
###
# Prints CMake variables.
#
# Print all variables in the current scope:
#
# print_vars()
# print_vars("") # the same result, as previous line
#
# Print all variables with names, matching regex, case insensitive:
#
# print_vars("SOMEVAR")
# print_vars("someVar") # the same result, as previous line
# print_vars("^CMAKE") # print all variables, that starts from "CMAKE"
# print_vars("VAR$") # ends by "VAR"
# print_vars("^VAR$") # exact match
#
function(print_vars)
if(ARGV0)
set(regex ${ARGV0})
endif()
get_cmake_property(names VARIABLES)
foreach(name ${names})
# Make lowercase variants for case-insensitive comparing
string(TOLOWER "${name}" lc_name)
string(TOLOWER "${regex}" lc_regex)
if(lc_name MATCHES "${lc_regex}")
message("${name}=${${name}}")
endif()
endforeach()
endfunction()
###
# Print content of variable.
#
# print_var(PROJECT_NAME)
# print_var("PROJECT_NAME") # the same result as previous line
#
function(print_var name)
# Show nice output for not defined or empty variables
if(NOT DEFINED ${name})
set(value " is not defined.")
elseif("${${name}}" STREQUAL "")
set(value " is defined but empty.")
else()
set(value "=${${name}}")
endif()
message("${name}${value}")
endfunction()
###
# Prints included directories
#
function(print_include_dirs)
get_property(dirs DIRECTORY PROPERTY INCLUDE_DIRECTORIES)
foreach(dir ${dirs})
message("${dir}")
endforeach()
endfunction()
###
# Prints link directories
#
function(print_link_dirs)
get_property(dirs DIRECTORY PROPERTY LINK_DIRECTORIES)
foreach(dir ${dirs})
message("${dir}")
endforeach()
endfunction()
###
# Prints compile definitions
#
function(print_compile_definitions)
get_property(defs DIRECTORY PROPERTY COMPILE_DEFINITIONS)
foreach(def ${defs})
message("${def}")
endforeach()
endfunction()
###
# Prints target include directories
#
function(print_target_include_dirs target)
get_property(dirs TARGET ${target} PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
foreach(dir ${dirs})
message("${dir}")
endforeach()
endfunction()
###
# Prints target compile definitions
#
function(print_target_compile_definitions target)
get_property(defs TARGET ${target} PROPERTY INTERFACE_COMPILE_DEFINITIONS)
foreach(def ${defs})
message("${def}")
endforeach()
endfunction()
###
# Prints target link libraries
#
function(print_target_link_libraries target)
get_property(defs TARGET ${target} PROPERTY INTERFACE_LINK_LIBRARIES)
foreach(def ${defs})
message("${def}")
endforeach()
endfunction()
###
# Prints Qt5 module plugins
#
function(print_qt_module_plugins module)
foreach(plugin ${Qt5${module}_PLUGINS})
get_target_property(loc ${plugin} LOCATION)
message("Plugin ${plugin} is at location ${loc}")
endforeach()
endfunction()
+154
View File
@@ -0,0 +1,154 @@
# Copyright (c) 2012 Petroules Corporation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
# following conditions are met:
#
# Redistributions of source code must retain the above copyright notice, this list of conditions and the following
# disclaimer.
#
# Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
# PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
# TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# Based on the Qt 5 processor detection code, so should be very accurate
# https://qt.gitorious.org/qt/qtbase/blobs/master/src/corelib/global/qprocessordetection.h
# Currently handles arm (v5, v6, v7), x86 (32/64), ia64, and ppc (32/64)
# Regarding POWER/PowerPC, just as is noted in the Qt source,
# "There are many more known variants/revisions that we do not handle/detect."
set(archdetect_c_code "
#if defined(__arm__) || defined(__TARGET_ARCH_ARM)
#if defined(__ARM_ARCH_7__) \\
|| defined(__ARM_ARCH_7A__) \\
|| defined(__ARM_ARCH_7R__) \\
|| defined(__ARM_ARCH_7M__) \\
|| (defined(__TARGET_ARCH_ARM) && __TARGET_ARCH_ARM-0 >= 7)
#error cmake_ARCH armv7
#elif defined(__ARM_ARCH_6__) \\
|| defined(__ARM_ARCH_6J__) \\
|| defined(__ARM_ARCH_6T2__) \\
|| defined(__ARM_ARCH_6Z__) \\
|| defined(__ARM_ARCH_6K__) \\
|| defined(__ARM_ARCH_6ZK__) \\
|| defined(__ARM_ARCH_6M__) \\
|| (defined(__TARGET_ARCH_ARM) && __TARGET_ARCH_ARM-0 >= 6)
#error cmake_ARCH armv6
#elif defined(__ARM_ARCH_5TEJ__) \\
|| (defined(__TARGET_ARCH_ARM) && __TARGET_ARCH_ARM-0 >= 5)
#error cmake_ARCH armv5
#else
#error cmake_ARCH arm
#endif
#elif defined(__i386) || defined(__i386__) || defined(_M_IX86)
#error cmake_ARCH i386
#elif defined(__x86_64) || defined(__x86_64__) || defined(__amd64) || defined(_M_X64)
#error cmake_ARCH x86_64
#elif defined(__ia64) || defined(__ia64__) || defined(_M_IA64)
#error cmake_ARCH ia64
#elif defined(__ppc__) || defined(__ppc) || defined(__powerpc__) \\
|| defined(_ARCH_COM) || defined(_ARCH_PWR) || defined(_ARCH_PPC) \\
|| defined(_M_MPPC) || defined(_M_PPC)
#if defined(__ppc64__) || defined(__powerpc64__) || defined(__64BIT__)
#error cmake_ARCH ppc64
#else
#error cmake_ARCH ppc
#endif
#endif
#error cmake_ARCH unknown
")
# Set ppc_support to TRUE before including this file or ppc and ppc64
# will be treated as invalid architectures since they are no longer supported by Apple
function(target_architecture output_var)
if(APPLE AND CMAKE_OSX_ARCHITECTURES)
# On OS X we use CMAKE_OSX_ARCHITECTURES *if* it was set
# First let's normalize the order of the values
# Note that it's not possible to compile PowerPC applications if you are using
# the OS X SDK version 10.6 or later - you'll need 10.4/10.5 for that, so we
# disable it by default
# See this page for more information:
# http://stackoverflow.com/questions/5333490/how-can-we-restore-ppc-ppc64-as-well-as-full-10-4-10-5-sdk-support-to-xcode-4
# Architecture defaults to i386 or ppc on OS X 10.5 and earlier, depending on the CPU type detected at runtime.
# On OS X 10.6+ the default is x86_64 if the CPU supports it, i386 otherwise.
foreach(osx_arch ${CMAKE_OSX_ARCHITECTURES})
if("${osx_arch}" STREQUAL "ppc" AND ppc_support)
set(osx_arch_ppc TRUE)
elseif("${osx_arch}" STREQUAL "i386")
set(osx_arch_i386 TRUE)
elseif("${osx_arch}" STREQUAL "x86_64")
set(osx_arch_x86_64 TRUE)
elseif("${osx_arch}" STREQUAL "ppc64" AND ppc_support)
set(osx_arch_ppc64 TRUE)
else()
message(FATAL_ERROR "Invalid OS X arch name: ${osx_arch}")
endif()
endforeach()
# Now add all the architectures in our normalized order
if(osx_arch_ppc)
list(APPEND ARCH ppc)
endif()
if(osx_arch_i386)
list(APPEND ARCH i386)
endif()
if(osx_arch_x86_64)
list(APPEND ARCH x86_64)
endif()
if(osx_arch_ppc64)
list(APPEND ARCH ppc64)
endif()
else()
file(WRITE "${CMAKE_BINARY_DIR}/arch.c" "${archdetect_c_code}")
enable_language(C)
# Detect the architecture in a rather creative way...
# This compiles a small C program which is a series of ifdefs that selects a
# particular #error preprocessor directive whose message string contains the
# target architecture. The program will always fail to compile (both because
# file is not a valid C program, and obviously because of the presence of the
# #error preprocessor directives... but by exploiting the preprocessor in this
# way, we can detect the correct target architecture even when cross-compiling,
# since the program itself never needs to be run (only the compiler/preprocessor)
try_run(
run_result_unused
compile_result_unused
"${CMAKE_BINARY_DIR}"
"${CMAKE_BINARY_DIR}/arch.c"
COMPILE_OUTPUT_VARIABLE ARCH
CMAKE_FLAGS CMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}
)
# Parse the architecture name from the compiler output
string(REGEX MATCH "cmake_ARCH ([a-zA-Z0-9_]+)" ARCH "${ARCH}")
# Get rid of the value marker leaving just the architecture name
string(REPLACE "cmake_ARCH " "" ARCH "${ARCH}")
# If we are compiling with an unknown architecture this variable should
# already be set to "unknown" but in the case that it's empty (i.e. due
# to a typo in the code), then set it to unknown
if (NOT ARCH)
set(ARCH unknown)
endif()
endif()
set(${output_var} "${ARCH}" PARENT_SCOPE)
endfunction()
+27
View File
@@ -0,0 +1,27 @@
if(SYSTEM_LINUX OR SYSTEM_MACOSX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99")
elseif(SYSTEM_WINDOWS)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_UNICODE -DUNICODE -DWIN32 -D_WIN32 -D_CRT_SECURE_NO_WARNINGS -DBOOST_ALL_NO_LIB")
# Do not show some warnings. We turned off the same warnings as MongoDB do
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4355 /wd4800 /wd4267 /wd4244 /wd4290 /wd4068 /wd4351")
# The /MP option can reduce the total time to compile the source files. This option
# causes the compiler to create one or more copies of itself, each in a separate process.
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
set(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS} /MP")
set(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES} psapi.lib bcrypt.lib Iphlpapi.lib dbghelp.lib ws2_32.lib winmm.lib version.lib")
endif()
set(PROJECT_NAME "Robo 3T")
set(PROJECT_NAME_TITLE ${PROJECT_NAME})
set(PROJECT_DOMAIN "www.robomongo.org")
set(PROJECT_COMPANYNAME "3T Software Labs Ltd")
set(PROJECT_COPYRIGHT "Copyright (C) 2014-2017 ${PROJECT_COMPANYNAME} All Rights Reserved.")
set(PROJECT_COMPANYNAME_DOMAIN "https://studio3t.com/")
set(PROJECT_GITHUB_FORK "www.github.com/Studio3T/robomongo")
set(PROJECT_GITHUB_ISSUES "www.github.com/Studio3T/robomongo/issues")
string(TOLOWER ${PROJECT_NAME} PROJECT_NAME_LOWERCASE)
+63
View File
@@ -0,0 +1,63 @@
See these docs for the latest info about this topic:
-------------
- [Build Robo 3T - Mac OS X and Linux](https://github.com/paralect/robomongo/blob/master/docs/BuildRobo3TOnMacAndLinux.md)
- [Build Robo 3T - Windows](https://github.com/paralect/robomongo/blob/master/docs/BuildRobo3TOnWindows.md)
------------------------------------
What is this?
-------------
Files in this folder are read by FindMongoDB.cmake script.
We link with MongoDB shell using objects instead of static libs, because:
> We require the use of the 'object' mode for release builds because it is the only linking
> model that works across all of our platforms. We would like to ensure that all of our
> released artifacts are built with the same known-good-everywhere model.
This is a quote from root SConstruct file in MongoDB repository.
It is possible to build MongoDB shell in the following way:
$ scons mongo --link-model=static
Than we will have produced static libs that we can link with. But in release mode MongoDB
SConstruct file do not support static link mode by default. This command will *not* work:
$ scons mongo --release --link-model=static
We decided to use object link mode even for debug builds, in order to use single mode across
all platforms and configurations.
How did you receive content for this files?
-------------------------------------------
First we build MongoDB shell with the following command:
$ scons mongo -j8 --release
Than we remove compiled `mongo` and run the same command again to see only final link command:
$ rm build/opt/mongo/mongo
$ scons mongo -j8 --release > release-link-command.txt
And finally we manually copy/paste list of objects to `<platform>-release.objects` file. Make sure
that they are single-line files.
Almost the same steps we are doing for debug builds:
$ scons mongo -j8 --dbg
$ rm build/debug/mongo/mongo
$ scons mongo -j8 --dbg > debug-link-command.txt
And list of objects is copied to `<platform>-debug.objects` file.
We found, that on Linux (Ubuntu 14.10), list of debug objects differ from list of release objects only
by two files. File `debugallocation.o` is linked in debug mode, but not in release.
File `debugallocation.o` is linked in release mode, but not in debug. Both are located
in `third_party/gperftools-2.2/src` folder. In any way, we keep separate lists of object files
for both configurations. Still we need to test that objects are the same even across different
versions of Linux.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+20
View File
@@ -0,0 +1,20 @@
Quick reference to CMake
========================
if(<constant>)
True if the constant is `1`, `ON`, `YES`, `TRUE`, `Y`, or a non-zero number.
False if the constant is `0`, `OFF`, `NO`, `FALSE`, `N`, `IGNORE`, `NOTFOUND`,
the empty string, or ends in the suffix `-NOTFOUND`. Named boolean constants
are case-insensitive. If the argument is not one of these constants, it is
treated as a variable.
if(<variable>)
True if the variable is defined to a value that is not a false constant. False otherwise.
(Note macro arguments are not variables.)
if(DEFINED <variable>)
True if the given variable is defined. It does not matter if the variable is
true or false just if it has been set. (Note macro arguments are not variables.)
+18
View File
@@ -0,0 +1,18 @@
version: "3.9"
services:
robo3t:
image: robo3t
build:
context: .
dockerfile: ./Dockerfile
network: host
network_mode: host
environment:
- DISPLAY=${DISPLAY}
volumes:
- /tmp/.X11-unix:/tmp/.X11-unix
- $HOME/.3T:/root/.3T
- $HOME/.config/.3T:/root/.config/.3T
- $HOME/.ssh/id_rsa:/root/.ssh/id_rsa
- $HOME/.ssh/config:/root/.ssh/config
- $HOME/.ssh/known_hosts:/root/.ssh/known_hosts
+243
View File
@@ -0,0 +1,243 @@
Building Robo 3T (macOS and Linux)
==================
A. Prerequisites
-------------
1. Modern Compiler
A modern and complete C++17 compiler:
```
GCC 8.0 or newer
Clang 7 (or Apple XCode 10 Clang) or newer
On Linux and macOS, the libcurl library and header is required. macOS includes libcurl.
Fedora/RHEL - dnf install libcurl-devel
Ubuntu/Debian - apt-get install libcurl-dev
Python 3.7
```
For details see: https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source
2. Install CMake (3.10.0 or later)
Example:
```
sudo apt-get install build-essential
// or
wget http://www.cmake.org/files/v3.10/cmake-3.10.0.tar.gz
tar xf cmake-3.10.0.tar.gz
cd cmake-3.10.0
./configure // macos: env CC=gcc ./bootstrap
make
sudo make install
(sudo make uninstall)
```
3. Install [Scons](http://scons.org/tag/releases.html) (3.1.2 or later)
```
cd scons-**
python setup.py install
```
4. Install Qt
macOS: Qt 5.12.8
Linux: Qt 5.9.3
```sh
Example installation for macOS and Ubuntu:
Go to http://download.qt.io/archive/qt/5.x/5.x.y/
Download, run and install
qt-opensource-mac-x64-clang-5.x.y.dmg (for macOS)
qt-opensource-linux-x64-5.x.y.run (for Linux)
After successful installation you should have
/path/to/qt-5.x.y/5.x/clang_64 (for macOS)
/path/to/qt-5.x.y/5.x/gcc_64 (for Linux)
More information for installing on Ubuntu:
https://wiki.qt.io/Install_Qt_5_on_Ubuntu
```
5. Download and Build OpenSSL - (explained below in section B)
B. Building Robo 3T and Dependencies
-------------
Ref: https://wiki.openssl.org/index.php/Compilation_and_Installation#OS_X
#### 1. Build OpenSSL
(Todo: Can we find pre-built OpenSSL? To check => https://wiki.openssl.org/index.php/Binaries)
Version 1.1.1f (Mar/2020) on macOS
Version 1.0.2o (Mar/2018) on Linux
**macOS:**
```sh
wget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1f.tar.gz
tar -xf openssl-1.1.1f.tar.gz
cd /opt/openssl-1.1.1f
(make clean)
./Configure darwin64-x86_64-cc shared no-ssl2 no-ssl3 no-comp -mmacosx-version-min=xy.zt
// Notes:
// 1. Change -mmacosx-version same as CMAKE_OSX_DEPLOYMENT_TARGET in
// https://github.com/Studio3T/robomongo/blob/master/CMakeLists.txt
// 2. With openssl version 1.1.1, configure command with rpath stopped working
// Last working configure command with rpath was:
// ./Configure darwin64-x86_64-cc shared --openssldir="@rpath"
make (or sudo make)
// Verify libssl.dylib and libcrypto.dylib files are created
ll lib*.dylib
// Due to broken './Configure' command with rpath above, these extra steps are also required:
install_name_tool -id "@rpath/lib/libssl.1.1.dylib" libssl.1.1.dylib
install_name_tool -change /usr/local/lib/libcrypto.1.1.dylib @rpath/lib/libcrypto.1.1.dylib libssl.1.1.dylib
install_name_tool -id "@rpath/lib/libcrypto.1.1.dylib" libcrypto.1.1.dylib
// Finally, we should have this output using otool:
otool -L libssl.1.1.dylib
libssl.dylib:
@rpath/lib/libssl.1.1.dylib (compatibility version 1.1.0, current version 1.1.0)
@rpath/lib/libcrypto.1.1.dylib (compatibility version 1.1.0, current version 1.1.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1281.100.1)
otool -L libcrypto.1.1.dylib
libcrypto.dylib:
@rpath/lib/libcrypto.1.1.dylib (compatibility version 1.1.0, current version 1.1.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1281.100.1)
// For robo-unit-test dependency:
mkdir lib/
cp lib*.dylib/lib/
```
**Linux:**
```sh
wget https://www.openssl.org/source/old/1.0.2/openssl-1.0.2o.tar.gz
tar -xf openssl-1.0.2o.tar.gz
cd /opt/openssl-1.0.2o
(make clean)
./config shared
make
// Verify libssl.so and libcrypto.so are created
```
#### 2. Build Robo 3T Shell (fork of MongoDB)
Clone Robo 3T Shell and make sure you are on latest branch:
```sh
$ git clone https://github.com/paralect/robomongo-shell.git
$ cd robomongo-shell
$ git branch // "roboshell-v4.2"
```
Set special environment variable `ROBOMONGO_CMAKE_PREFIX_PATH` to point to a set of
directories:
1. Location of Qt 5 SDK
2. Location of Robo 3T Shell
3. Location of OpenSSL
Separate directories by semicolon `;` (not colon):
// macOS example:
export ROBOMONGO_CMAKE_PREFIX_PATH="/path/to/qt-5.x.y/5.x/clang_64;/opt/robo-shell;/opt/openssl-x.y.z"
// Ubuntu example:
export ROBOMONGO_CMAKE_PREFIX_PATH="/home/<user>/Qt5.x.y/5.x.y/gcc_64/;/opt/<user>/robo-shell;/opt/openssl-x.y.z"
Install pip requirements
```
// macOS / Linux
pip3 install --user -r etc/pip/compile-requirements.txt
pip3 install --user -r etc/pip/dev-requirements.txt
```
```
// For ubuntu, the followings might be needed
sudo aptitude install libcurl-dev
sudo pip3 install Typing
sudo pip3 install Cheetah
```
Build Robo 3T Shell (in release mode by default):
```sh
$ bin/build
```
Build Robo 3T Shell in debug mode:
```sh
$ bin/build debug
```
Clean build files for release mode:
```sh
$ bin/clean
```
Clean build files for debug mode:
```sh
$ bin/clean debug
```
For more information refer to [Building Robo 3T Shell](BuildRobo3TShell.md)
#### 3. Build Robo 3T
Download Robo 3T:
$ git clone https://github.com/Studio3T/robomongo
$ cd robomongo
Run configuration step:
$ bin/configure
And finally, build Robo 3T:
$ bin/build
To run robomongo:
$ bin/run
**Debug mode**
For debug mode append `debug` for each command
e.g. `bin/configure debug` or `bin/build debug` etc..
**Helper commands**
Clean build files (in order to start build from scratch):
$ bin/clean
Install Robo 3T to `build/release/install` folder:
$ bin/install
Create package for your OS in `build/release/package` folder:
$ bin/pack
**Important Notes**
- For macOS builds, it might be needed to patch QScintilla with `QScintilla-2.9.3-xcode8.patch` found at robomongo repository's root.
- For Ubuntu 16.04 builds, it has been reported that Robo 3T /bin/configure step might fail and installing `mesa-common-dev` package solves it. Details: https://github.com/paralect/robomongo/issues/1268
- For Centos builds, Robo 3T /bin/configure step might fail due to error: `failed to find gl/gl.h`. In this case, the following packages must be installed:
```sh
$ sudo yum install mesa-libGL
$ sudo yum install mesa-libGL-devel
```
+229
View File
@@ -0,0 +1,229 @@
Building Robo 3T (Windows)
==============================
A. Prerequisites
-------------
#### 0. Git
Download Git installer from http://git-scm.com (we are using Git-2.7.0-64-bit).
When you'll see "Adjusting your PATH environment" wizard page, select
"Use Git from the Windows Command Prompt" option. This will allow to
execute Git from both Windows Command Prompt and Bash. This is required,
because both MongoDB and Robo 3T uses `git` command during build process
which must be perfomed from Windows Command Prompt (not Bash).
On "Configuring the line ending conversion" wizard page, select "Checkout
Windows-style, commit Unix-style line ending" option. This is a common mode
for cross-platform projects and required by both MongoDB and Robo 3T.
All other Git installer options are not important (use defaults).
If you are using SSH clone url, start SSH agent and add your private key
with this commands in Git Bash:
$ eval `ssh-agent` # starts ssh agent
$ ssh-add ~/.ssh/mykey # add your key (which can be in any folder)
#### 1. Visual Studio 2017 version 15.9 or newer (complete C++17 compiler)
We use Visual Studio 2017 version 15.9.22, and recommend to use this version to save
time for Qt compilation. Currently prebuilt binaries for Qt are available
from official Qt site. But you can use any newer version and compile Qt library
yourself.
#### 2. ActivePython 3.7.4
Download ActivePython from http://www.activestate.com/activepython/downloads
Download MSI x64 version. Use default settings in installation wizard.
This installer will add path to `python.exe` to your `PATH` variable.
#### 3. SCons 3.1.2 or newer
We use SCons 3.1.2
Download Scons from http://scons.org/tag/releases.html
Use ZIP archive, not MSI
Open Command Prompt, navigate to Scons directory and run:
$ setup.py install
This command will make `scons` command accessible from Command Prompt
#### 4. CMake
We use CMake 3.10.0
Download CMake from https://cmake.org/download
Use installer package, it will allow you to configure your PATH variable and `cmake`
command will be available from Command Prompt. For this set "Add CMake to the system
PATH for current user" in the installer wizard page.
#### 5. Qt 5.12.8
Download and install Qt from http://download.qt.io/archive/qt
Run the installer and select only 'msvc2017 64-bit'
#### 6. OpenSSL (1.1.1f)
Download openssl from https://www.openssl.org/source/old/1.1.1/openssl-1.1.1f.tar.gz
B. Building Robo 3T and Dependencies
-------------
#### 1. Build OpenSSL
(Todo: Can we find pre-built OpenSSL? To check => https://wiki.openssl.org/index.php/Binaries)
Steps to build OpenSSL on windows:
- Ensure you have perl installed on your machine (e.g. ActiveState or Strawberry), and available on your %PATH%
- Ensure you have NASM installed on your machine, and available on your %PATH%
```sh
Open Visual Studio tool x64 Cross Tools Command prompt
cd to the directory where you have openssl sources cd c:\myPath\openssl
perl Configure VC-WIN64A
(nmake clean)
nmake
// Verify these files are created:
libcrypto-1_1x64.dll, libssl-1_1-x64.dll (with all the build additionals such as .pdb .lik or static .lib)
```
Refer to OpenSSL documentation for more information:
https://wiki.openssl.org/index.php/Compilation_and_Installation#OpenSSL_1.1.0
#### 2. Build Robo 3T Shell (fork of MongoDB)
Clone Robo 3T Shell and make sure to be at `roboshell-v4.2` branch:
```sh
$ git clone https://github.com/paralect/robomongo-shell.git
$ cd robomongo-shell
$ git branch // roboshell-v4.2
```
Set environment variable `ROBOMONGO_CMAKE_PREFIX_PATH`, required by Robo 3T-Shell and Robo 3T build scripts, needs to be set according to the following directories:
1. Location of Qt SDK
2. Location of Robo 3T Shell
3. Location of OpenSSL
**Important:**
Make sure to move all your repos (robo, openssl, robo-shell etc..) into root directory of your drives (e.g. e:\robo-shell) and keep short repo names (e.g. robo-shell instead of robomongo-shell) otherwise you might end up with this error `If you see fatal error LNK1170: line in command file contains 131071 or more characters`
Separate directories by semicolon `;` (not colon). You can do this in Command Prompt:
> setx ROBOMONGO_CMAKE_PREFIX_PATH "e:\Qt\Qt5.9.3\5.9.3\msvc2015_64;e:\robo-shell;e:\openssl-x.y.z"
Open '**a new**' VS2017 x64 Native Tools Command Prompt and navigate to `robomongo-shell` folder.
**Note:**
Run
`pip3 install --user -r ../etc/pip/dev-requirements.txt`
If you have this type of errors:
```
// 1st error
ImportError: No module named typing
// Solution:
pip install Typing
pip install Cheetah
// 2nd error: shell: cheetah module not found
// Solution:
copy C:\Users\<user>\AppData\Roaming\Python\Python27\site-packages
to C:\Python27\Lib\site-packages
```
Build shell in release mode:
> bin\build
Build shell in debug mode:
> bin\build debug
Note that backslash is used (`\`), and not forward slash (`/`).
Clean build files for release mode:
> bin\clean
Clean build files for debug mode:
> bin\clean debug
Refer to MongoDB documentation for additional information:
https://docs.mongodb.org/manual/contributors/tutorial/build-mongodb-from-source/#windows-specific-instructions
#### 3. Build Robo 3T
Clone Robo 3T:
```sh
$ git clone https://github.com/paralect/robomongo.git
```
Open VS2017 x64 Native Tools Command Prompt and navigate to `robomongo` folder.
Run configuration step:
> bin\configure
And finally, build Robo 3T:
> bin\build
```
// If you see fatal error LNK1170: line in command file contains 131071 or more characters
Solution-1:
1. Move all your repos (robo, openssl, robo-shell etc..) into root directory of your drives.
2. Use short names e.g. robo-shell instead of robomongo-shell.
3. Update ROBOMONGO_CMAKE_PREFIX_PATH env. variable and try a fresh (clean) build.
Solution-2:
1. Create environment variable MongoDB_OBJECTS, set a short path e.g. "C:/"
2. Open a new VS2017 x64 Native Tools Command Prompt and build Robo 3T Shell
3. Robo 3T Shell build script will copy the object files into MongoDB_OBJECTS directory
4. Build Robo 3T again (clean build might be needed)
```
**Run Robo 3T**
Install Robo 3T to `build\Release\install` folder:
> bin\install
And run Robo 3T
> \robomongo\build\Release\install\robo3t.exe
**Package Robo 3T**
Install Robo 3T to `build\Release\install` folder:
> bin\pack
Note: nsis-2.46-setup.exe with Full setup must be present.
**Debug mode**
For debug mode append `debug` for each command
e.g. `bin\configure debug` or `bin\build debug` etc..
**Helper commands**
Clean build files (in order to start build from scratch):
> bin\clean
+57
View File
@@ -0,0 +1,57 @@
Building Robo 3T Shell
========================
Robo 3T uses [modified version](https://github.com/paralect/robomongo-shell/tree/roboshell-v3.4) of MongoDB that we call Robo 3T Shell.
Before you can build Robo 3T, you have to build Robo 3T Shell. The following instructions are applicable only for Mac OS X and Linux. For Windows instructions please check [Building Robo 3T on Windows](BuildRobo3TOnWindows.md).
Build for Mac OS X or Linux
---------------------------
#### Prerequisites
1. Install [Scons](http://scons.org/tag/releases.html) (2.3.5 or newer)
2. Clone Robo 3T Shell and checkout to `roboshell-v3.4` branch:
```sh
$ git clone https://github.com/paralect/robomongo-shell.git
$ cd robomongo-shell
$ git checkout roboshell-v3.4
```
3. Build Robo 3T Shell:
```sh
$ bin/build
```
Done! Now you can continue with building Robo 3T
with embedded MongoDB 3.4 shell (that you've just built).
<br/>
#### Advanced helper commands
The following commands are needed only if you are planning to develop or deeper understand
Robo 3T or Robo 3T Shell build processes.
Clean build files for release mode (folder `build/opt` will be removed):
$ bin/clean
Here is a command that is executed by `bin/build` script:
$ scons mongo -j8 --release --osx-version-min=10.9
Argument `--osx-version-min` is required only for Mac OS.
Build MongoDB shell in debug mode:
$ scons mongo -j8 --dbg
Clear builds:
$ scons -c mongo # clears release build
$ scons -c --dbg mongo # clears debug build
+59
View File
@@ -0,0 +1,59 @@
Building Robomongo Shell (Old Document)
========================
**Important Note:**
This document is for versions 1.0 and earlier and for MongoDB 3.2.
See latest documents here: https://github.com/Studio3T/robomongo/wiki
Robomongo uses [modified version](https://github.com/paralect/robomongo-shell/tree/roboshell-v3.2) of MongoDB that we call Robomongo Shell. Before you can build Robomongo, you have to build Robomongo Shell. The following instructions are applicable only for Mac OS X and Linux. For Windows instructions please check [Building Robomongo on Windows](BuildingRobomongoOnWindows.md).
Build for Mac OS X or Linux
---------------------------
#### Prerequisites
1. Install [Scons](http://scons.org/tag/releases.html) (2.4 or later)
2. Clone Robomongo Shell and checkout to `roboshell-v3.2` branch:
```sh
$ git clone https://github.com/paralect/robomongo-shell.git
$ cd robomongo-shell
$ git checkout roboshell-v3.2
```
3. Build Robomongo Shell:
```sh
$ bin/build
```
Done! Now you can continue with [Step 2](BuildingRobomongo.md#step-2) and build Robomongo
with embedded MongoDB 3.2 shell (that you've just built).
<br/>
#### Advanced helper commands
The following commands are needed only if you are planning to develop or deeper understand
Robomongo or Robomongo Shell build processes.
Clean build files for release mode (folder `build/opt` will be removed):
$ bin/clean
Here is a command that is executed by `bin/build` script:
$ scons mongo -j8 --release --osx-version-min=10.9
Argument `--osx-version-min` is required only for Mac OS.
Build MongoDB shell in debug mode:
$ scons mongo -j8 --dbg
Clear builds:
$ scons -c mongo # clears release build
$ scons -c --dbg mongo # clears debug build
+143
View File
@@ -0,0 +1,143 @@
Building Robomongo (Mac OS X and Linux)
==================
**Important Note:**
This document is for versions 1.0 and earlier and for MongoDB 3.2.
See latest documents here: https://github.com/Studio3T/robomongo/wiki
A. Prerequisites
-------------
1. Install CMake (3.2 or later)
2. Install [Scons](http://scons.org/tag/releases.html) (2.4 or later)
3. Install Qt 5.7
```sh
Example installation for MAC OSX and Ubuntu:
Go to http://download.qt.io/archive/qt/5.7/5.7.0/
Download, run and install
qt-opensource-mac-x64-clang-5.7.0.dmg (for MAC OSX)
qt-opensource-linux-x64-5.7.0.run (for Linux)
After successful installation you should have
/path/to/qt-5.7.0/5.7/clang_64 (for MAC OSX)
/path/to/qt-5.7.0/5.7/gcc_64 (for Linux)
More information for installing on Ubuntu:
https://wiki.qt.io/Install_Qt_5_on_Ubuntu
```
4. Download and Build OpenSSL (1.0.1p) - (explained below in section B)
B. Building Robomongo and Dependencies
-------------
#### Step 1. Build OpenSSL (1.0.1p)
Steps to build OpenSSL on MAC:
```sh
Download openssl-1.0.1p (ftp://ftp.openssl.org/source/old/1.0.1/openssl-1.0.1p.tar.gz)
tar -xvzf openssl-1.0.1p.tar.gz
cd /Users/<user>/Downloads/openssl-1.0.1p
./Configure darwin64-x86_64-cc shared --openssldir="@rpath"
make (or sudo make)
mkdir lib
cp libssl.1.0.0.dylib libcrypto.1.0.0.dylib lib/
```
Helper Commands
```sh
// to start fresh build
make clean
```
Steps to build OpenSSL on Linux:
```sh
Download openssl-1.0.1p (ftp://ftp.openssl.org/source/old/1.0.1/openssl-1.0.1p.tar.gz)
tar -xvzf openssl-1.0.1p.tar.gz
cd /home/<user>/Downloads/openssl-1.0.1p
./config shared
make
mkdir lib
cp libssl* libcrypto* lib/
```
#### Step 2. Build Robomongo Shell (fork of MongoDB)
Clone Robomongo Shell and checkout to `roboshell-v3.2` branch:
```sh
$ git clone https://github.com/paralect/robomongo-shell.git
$ cd robomongo-shell
$ git checkout roboshell-v3.2
```
Set special environment variable `ROBOMONGO_CMAKE_PREFIX_PATH` to point to a set of
directories:
1. Location of Qt 5 SDK
2. Location of Robomongo Shell
3. Location of OpenSSL
Separate directories by semicolon `;` (not colon):
// MAC OSX example:
$ export ROBOMONGO_CMAKE_PREFIX_PATH="/path/to/qt-5.7.0/5.7/clang_64;/path/to/robomongo-shell;/path/to/openssl-1.0.1p"
// Ubuntu example:
$ export ROBOMONGO_CMAKE_PREFIX_PATH="/path/to/qt-5.7.0/5.7/gcc_64;/path/to/robomongo-shell;/path/to/openssl-1.0.1p"
Build Robomongo Shell:
```sh
$ bin/build
```
For more information refer to [Building Robomongo Shell](BuildingMongoDB.md)
#### Step 3. Build Robomongo
Download Robomongo:
$ git clone https://github.com/paralect/robomongo
$ cd robomongo
Run configuration step:
$ bin/configure
And finally, build Robomongo:
$ bin/build
To run robomongo:
$ bin/run
**Helper commands**
Clean build files (in order to start build from scratch):
$ bin/clean
Install Robomongo to `build/release/install` folder:
$ bin/install
Create package for your OS in `build/release/package` folder:
$ bin/pack
**Important Notes**
- For Ubuntu 16.04 builds, it has been reported that Robomongo /bin/configure step might fail and installing mesa-common-dev package solves it. Details: https://github.com/paralect/robomongo/issues/1268
- For Centos builds, Robomongo /bin/configure step might fail due to error: `failed to find gl/gl.h`. In this case, the following packages must be installed:
```sh
$ sudo yum install mesa-libGL
$ sudo yum install mesa-libGL-devel
```
+188
View File
@@ -0,0 +1,188 @@
Building Robomongo (Windows)
==============================
**Important Note:**
This document is for versions 1.0 and earlier and for MongoDB 3.2.
See latest documents here: https://github.com/Studio3T/robomongo/wiki
A. Prerequisites
-------------
#### 0. Git
Download Git installer from http://git-scm.com (we are using Git-2.7.0-64-bit).
When you'll see "Adjusting your PATH environment" wizard page, select
"Use Git from the Windows Command Prompt" option. This will allow to
execute Git from both Windows Command Prompt and Bash. This is required,
because both MongoDB and Robomongo uses `git` command during build process
which must be perfomed from Windows Command Prompt (not Bash).
On "Configuring the line ending conversion" wizard page, select "Checkout
Windows-style, commit Unix-style line ending" option. This is a common mode
for cross-platform projects and required by both MongoDB and Robomongo.
All other Git installer options are not important (use defaults).
If you are using SSH clone url, start SSH agent and add your private key
with this commands in Git Bash:
$ eval `ssh-agent` # starts ssh agent
$ ssh-add ~/.ssh/mykey # add your key (which can be in any folder)
#### 1. Visual Studio 2013 (i.e. MSVC12) Update 4 or newer
We use Visual Studio 2013 Update 5, and recommend to use this version to save
time for Qt compilation. Currently prebuilt binaries for Qt are available
from official Qt site. But you can use any newer version and compile Qt library
yourself.
If you already have VS2013, you can download Update 5 here:
https://www.microsoft.com/en-us/download/details.aspx?id=48129
Update 4 or newer version is required to compile MongoDB.
#### 2. ActivePython 2.7
Download ActivePython from http://www.activestate.com/activepython/downloads
Download MSI x64 version. Use default settings in installation wizard.
This installer will add path to `python.exe` to your `PATH` variable.
#### 3. Scons 2.3.4
Download Scons from http://scons.org/tag/releases.html
Use ZIP archive, not MSI (we use scons-2.3.4.zip)
Open Command Prompt, navigate to Scons directory and run:
$ setup.py install
This command will make `scons` command accessible from Command Prompt
#### 4. CMake
Download CMake from https://cmake.org/download (we use cmake-3.3.2-win32-x86.exe)
Use installer package, it will allow you to configure your PATH variable and `cmake`
command will be available from Command Prompt. For this set "Add CMake to the system
PATH for current user" in the installer wizard page.
#### 5. Qt 5.7
Download Qt from http://www.qt.io/download-open-source/ (we use Qt Online installer)
When installing Qt, only one component is required by Robomongo:
Qt 5.7
[x] msvc2013 64-bit.
This components contains prebuilt 64-bit binaries for Visual Studio 2013.
You may uncheck all other components to download as little as possible.
#### 6. OpenSSL (1.0.1p)
Download openssl-1.0.1p (ftp://ftp.openssl.org/source/old/1.0.1/openssl-1.0.1p.tar.gz)
B. Building Robomongo and Dependencies
-------------
#### 1. Build OpenSSL (1.0.1p)
Steps to build OpenSSL on windows:
```sh
Open Visual Studio tool x64 Cross Tools Command prompt
cd to the directory where you have openssl sources cd c:\myPath\openssl
perl Configure VC-WIN64A
ms\do_win64a
nmake -f ms\ntdll.mak
```
**Check Point:**
After successful build, newly created sub directory out32dll should contain dynamic lib files libeay32.lib (and libeay32.dll) and ssleay32.lib (and ssleay32.dll); and associated include files will be in newly created folder "inc32".
Helper Commands:
```sh
// clean to start fresh build
nmake -f ms\ntdll.mak clean
```
Refer to OpenSSL documentation for more information:
https://wiki.openssl.org/index.php/Compilation_and_Installation#W64
#### 2. Build Robomongo Shell (fork of MongoDB)
Clone Robomongo Shell and checkout to roboshell-v3.2 branch:
```sh
$ git clone https://github.com/paralect/robomongo-shell.git
$ cd robomongo-shell
$ git checkout roboshell-v3.2
```
Set environment variable `ROBOMONGO_CMAKE_PREFIX_PATH`, required by Robomongo-Shell and Robomongo build scripts, needs to be set according to the following directories:
1. Location of Qt SDK
2. Location of Robomongo Shell
3. Location of OpenSSL
Separate directories by semicolon `;` (not colon). You can do this in Command Prompt:
> setx ROBOMONGO_CMAKE_PREFIX_PATH "d:\Qt-5\5.7\msvc2013_64;d:\Projects\robomongo-shell;c:\myPath\openssl-1.0.1p"
Open VS2013 x64 Native Tools Command Prompt and navigate to `robomongo-shell` folder.
Build shell:
> bin\build
Note that backslash is used (`\`), and not forward slash (`/`).
Clean build files:
> bin\clean
Refer to MongoDB documentation for additional information:
https://docs.mongodb.org/manual/contributors/tutorial/build-mongodb-from-source/#windows-specific-instructions
#### 3. Build Robomongo
Clone Robomongo:
```sh
$ git clone https://github.com/paralect/robomongo.git
```
Open VS2013 x64 Native Tools Command Prompt and navigate to `robomongo` folder.
Run configuration step:
> bin\configure
And finally, build Robomongo:
> bin\build
**Run Robomongo**
Install Robomongo to `build\Release\install` folder:
> bin\install
And run Robomongo
> \robomongo\build\Release\install\Robomongo.exe
**Helper commands**
Clean build files (in order to start build from scratch):
> bin\clean
+181
View File
@@ -0,0 +1,181 @@
Runtime Dependencies
====================
This information is for maintainers. If you want to just use Robomongo - download
prebuild packages for your platform.
Runtime dependencies that are not privided by platforms but required by Robomongo are:
1. Qt libraries
2. Qt plugins
Diagnostic of dependencies
--------------------------
### Windows
GUI: http://dependencywalker.com/
### Linux
#### a. View dependencies of executable or shared library:
$ ldd robomongo
$ readelf -d robomongo
#### b. View dependency tree of executable or shared library:
$ lddtree robomongo
$ ldd -v robomongo
#### c. View RPATH or RUNPATH records of executable or shared library:
$ objdump -x bin/robomongo | grep "RPATH\|RUNPATH"
$ readelf -d bin/robomongo | grep RPATH
For Robomongo binary it should be `$ORIGIN/../lib`
#### d. Enable extensive logging for run-time shared library search
$ export LD_DEBUG=files
$ bin/robomongo
Source:
http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html
#### e. Modify RPATH using `chrpath` and the dynamic linker and RPATH using paths `patchelf`
$ patchelf --set-rpath '$ORIGIN/../lib' robo
More: https://nixos.org/patchelf.html
$ chrpath -r "/somepath/lib/" robomongo
More:
https://linux.die.net/man/1/chrpath
http://www.programering.com/a/MTOwcDNwATU.html // examples
#### f. Show symbols of shared lib file
Error:
```
/opt/robo-shell/src/mongo/util/net/ssl_manager_openssl.cpp:667:
undefined reference to `SSL_library_init'
```
How to debug:
```
openssl-1.1.1f: nm -gD libssl.so | grep SSL_library_init
// not found, since SSL_library_init() is deprecated in 1.1.1
openssl-1.0.2o: nm -gD libssl.so | grep SSL_library_init
0000000000055520 T SSL_library_init
```
#### g. Update path of a dependency of an executable
```
ldd exec_file | grep libcurlpp
libcurlpp.so.1 => not found
patchelf --replace-needed libcurlpp.so.1 /foo/bar/libcurlpp.so.1 exec_file
```
Another example (libcrypto.so.1.1 => not found):
```
cd /opt/openssl-1.1.1f
ldd libssl.so
linux-vdso.so.1 => (0x00007ffcaf911000)
libcrypto.so.1.1 => not found
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fd4087b4000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fd4083ea000)
/lib64/ld-linux-x86-64.so.2 (0x00007fd408c65000)
sudo cp libcrypto.so.1.1 /lib/x86_64-linux-gnu/
ldd libssl.so
linux-vdso.so.1 => (0x00007fff0f5d8000)
libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007fd3dcc1e000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fd3dc854000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fd3dc650000)
/lib64/ld-linux-x86-64.so.2 (0x00007fd3dd2d6000)
```
### Mac OS X
#### a. Show dependencies of executable or shared library:
Show dependencies of executable or shared library:
$ otool -L robomongo
View LC_RPATH records of executable or shared library:
$ otool -l robomongo | grep -C2 RPATH
(option `-C2` asks grep to output 2 context lines before and after the match)
For Robomongo binary it should be `$executable_path/../Frameworks`
More about `otool -l`
```
$ otool -l /opt/robo/build/release/src/robomongo/Robo\ 3T.app/Contents/MacOS/Robo\ 3T
....
Load command 23
cmd LC_LOAD_DYLIB
cmdsize 56
name @rpath/lib/libssl.1.1.dylib (offset 24)
time stamp 2 Thu Jan 1 03:00:02 1970
current version 1.1.0
compatibility version 1.1.0
Load command 24
cmd LC_LOAD_DYLIB
cmdsize 56
name @rpath/lib/libcrypto.1.1.dylib (offset 24)
time stamp 2 Thu Jan 1 03:00:02 1970
current version 1.1.0
compatibility version 1.1.0
....
Load command 27
cmd LC_RPATH
cmdsize 48
path /opt/Qt5.9.3/5.9.3/clang_64/lib (offset 12)
Load command 28
cmd LC_RPATH
cmdsize 32
path /opt/openssl-1.1.1f (offset 12)
```
#### b. Edit dependencies of executable or shared library:
```
// Before
otool -L libssl.dylib
libssl.dylib:
/usr/local/lib/libssl.1.1.dylib (compatibility version 1.1.0, current version 1.1.0)
/usr/local/lib/libcrypto.1.1.dylib (compatibility version 1.1.0, current version 1.1.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1281.100.1)
// Edit
install_name_tool -id "@rpath/lib/libssl.1.1.dylib" libssl.dylib
install_name_tool -change /usr/local/lib/libcrypto.1.1.dylib @rpath/lib/libcrypto.1.1.dylib libssl.dylib
// After
otool -L libssl.dylib
libssl.dylib:
@rpath/lib/libssl.1.1.dylib (compatibility version 1.1.0, current version 1.1.0)
@rpath/lib/libcrypto.1.1.dylib (compatibility version 1.1.0, current version 1.1.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1281.100.1)
```
Diagnostic of Qt plugins
------------------------
Run Robomongo in the following way to see how plugins are resolved:
$ QT_DEBUG_PLUGINS=1 ./robomongo
Binary file not shown.

Before

Width:  |  Height:  |  Size: 180 KiB

@@ -1,11 +0,0 @@
--- /home/dmitry/libs/mongo/src/mongo/scripting/bench.cpp 2013-02-17 22:49:18.252603371 +0300
+++ /home/dmitry/dev/robomongo/src/robomongo/shell/scripting/bench.cpp 2013-02-18 23:11:46.024268678 +0300
@@ -18,7 +18,7 @@
-#include "pch.h"
+#include "mongo/pch.h"
#include "mongo/scripting/bench.h"
@@ -1,11 +0,0 @@
--- /home/dmitry/libs/mongo/src/mongo/shell/shell_utils.cpp 2013-02-17 22:49:18.256603371 +0300
+++ /home/dmitry/dev/robomongo/src/robomongo/shell/shell/shell_utils.cpp 2013-02-18 18:48:35.200747338 +0300
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-#include "pch.h"
+#include "mongo/pch.h"
#include "mongo/shell/shell_utils.h"
#include "mongo/shell/shell_utils_extended.h"
@@ -1,11 +0,0 @@
--- /home/dmitry/libs/mongo/src/mongo/shell/shell_utils_extended.cpp 2013-02-17 22:49:18.260603371 +0300
+++ /home/dmitry/dev/robomongo/src/robomongo/shell/shell/shell_utils_extended.cpp 2013-02-17 22:09:31.104675734 +0300
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-#include "pch.h"
+#include "mongo/pch.h"
#include <boost/filesystem/convenience.hpp>
#include <fstream>
@@ -1,13 +0,0 @@
--- /home/dmitry/libs/mongo/src/mongo/util/base64.cpp 2013-02-17 22:49:18.260603371 +0300
+++ /home/dmitry/dev/robomongo/src/robomongo/shell/util/base64.cpp 2013-02-17 22:09:31.108675734 +0300
@@ -16,8 +16,8 @@
* limitations under the License.
*/
-#include "pch.h"
-#include "base64.h"
+#include "mongo/pch.h"
+#include "mongo/util/base64.h"
namespace mongo {
namespace base64 {
@@ -1,17 +0,0 @@
--- /home/dmitry/libs/mongo/src/mongo/util/processinfo_darwin.cpp 2013-02-17 22:49:18.268603371 +0300
+++ /home/dmitry/dev/robomongo/src/robomongo/shell/util/processinfo_darwin.cpp 2013-03-02 17:57:14.389301358 +0300
@@ -15,10 +15,10 @@
* limitations under the License.
*/
-#include "../pch.h"
-#include "processinfo.h"
-#include "log.h"
-#include <db/jsobj.h>
+#include "mongo/pch.h"
+#include "mongo/util/processinfo.h"
+#include "mongo/util/log.h"
+#include <mongo/db/jsobj.h>
#include <mach/vm_statistics.h>
#include <mach/task_info.h>
@@ -1,14 +0,0 @@
--- /home/dmitry/libs/mongo/src/mongo/util/processinfo_linux2.cpp 2013-02-17 22:49:18.268603371 +0300
+++ /home/dmitry/dev/robomongo/src/robomongo/shell/util/processinfo_linux2.cpp 2013-02-17 22:09:31.108675734 +0300
@@ -23,9 +23,9 @@
#include <gnu/libc-version.h>
#include <sys/utsname.h>
-#include "processinfo.h"
+#include "mongo/util/processinfo.h"
#include "boost/filesystem.hpp"
-#include <util/file.h>
+#include "mongo/util/file.h"
using namespace std;
@@ -1,13 +0,0 @@
--- /home/dmitry/libs/mongo/src/mongo/util/processinfo_win32.cpp 2013-02-17 22:49:18.268603371 +0300
+++ /home/dmitry/dev/robomongo/src/robomongo/shell/util/processinfo_win32.cpp 2013-02-17 22:09:31.108675734 +0300
@@ -15,8 +15,8 @@
* limitations under the License.
*/
-#include "pch.h"
-#include "processinfo.h"
+#include "mongo/pch.h"
+#include "mongo/util/processinfo.h"
#include <iostream>
#include <psapi.h>
@@ -1,22 +0,0 @@
--- /home/dmitry/libs/mongo/src/mongo/util/ramlog.cpp 2013-02-17 22:49:18.268603371 +0300
+++ /home/dmitry/dev/robomongo/src/robomongo/shell/util/ramlog.cpp 2013-02-17 22:09:31.108675734 +0300
@@ -15,11 +15,19 @@
* limitations under the License.
*/
+#ifdef ROBOMONGO
+#include "mongo/pch.h"
+#include "mongo/util/log.h"
+#include "mongo/util/ramlog.h"
+#include "mongo/util/mongoutils/html.h"
+#include "mongo/util/mongoutils/str.h"
+#else
#include "pch.h"
#include "log.h"
#include "ramlog.h"
#include "mongoutils/html.h"
#include "mongoutils/str.h"
+#endif
namespace mongo {
@@ -1,14 +0,0 @@
--- /home/dmitry/libs/mongo/src/mongo/util/text.cpp 2013-02-17 22:49:18.272603371 +0300
+++ /home/dmitry/dev/robomongo/src/robomongo/shell/util/text.cpp 2013-02-17 22:09:31.108675734 +0300
@@ -15,7 +15,11 @@
* limitations under the License.
*/
+#ifdef ROBOMONGO
+#include "mongo/pch.h"
+#else
#include "pch.h"
+#endif
#include <boost/smart_ptr/scoped_array.hpp>
#include <sstream>
-109
View File
@@ -1,109 +0,0 @@
--- /home/dmitry/libs/mongo/src/mongo/db/json.cpp 2013-02-17 22:49:18.200603373 +0300
+++ /home/dmitry/dev/robomongo/src/robomongo/shell/db/json.cpp 2013-02-20 21:09:58.347251999 +0300
@@ -13,7 +13,11 @@
* limitations under the License.
*/
-#include "mongo/db/json.h"
+#include "robomongo/shell/db/json.h"
+#include "robomongo/shell/db/ptimeutil.h"
+
+#include <boost/date_time/posix_time/posix_time.hpp>
+#include <boost/date_time/posix_time/posix_time_io.hpp>
#include "mongo/db/jsobj.h"
#include "mongo/platform/cstdint.h"
@@ -23,6 +27,7 @@
#include "mongo/util/mongoutils/str.h"
namespace mongo {
+namespace Robomongo {
#if 0
#define MONGO_JSON_DEBUG(message) log() << "JSON DEBUG @ " << __FILE__\
@@ -66,8 +71,10 @@
Status JParse::parseError(const StringData& msg) {
std::ostringstream ossmsg;
ossmsg << msg;
+#ifndef ROBOMONGO // offset will be taken using public offset() method.
ossmsg << ": offset:";
ossmsg << offset();
+#endif
return Status(ErrorCodes::FailedToParse, ossmsg.str());
}
@@ -97,6 +104,14 @@
return ret;
}
}
+#ifdef ROBOMONGO
+ else if (accept("ISODate")) {
+ Status ret = isodate(fieldName, builder);
+ if (ret != Status::OK()) {
+ return ret;
+ }
+ }
+#endif
else if (accept("Timestamp")) {
Status ret = timestamp(fieldName, builder);
if (ret != Status::OK()) {
@@ -586,6 +601,37 @@
return Status::OK();
}
+#ifdef ROBOMONGO
+ Status JParse::isodate(const StringData& fieldName, BSONObjBuilder& builder) {
+ if (!accept(LPAREN)) {
+ return parseError("Expecting '('");
+ }
+
+ std::string datestr;
+ Status ret = quotedString(&datestr);
+ if (ret != Status::OK()) {
+ return ret;
+ }
+
+ boost::posix_time::ptime epoch(boost::gregorian::date(1970,1,1));
+ boost::posix_time::ptime isotime;
+ try {
+ isotime = miutil::ptimeFromIsoString(datestr);
+ } catch (std::logic_error &er) {
+ return parseError("Invalid date format");
+ }
+
+ boost::posix_time::time_duration diff = isotime - epoch;
+ int64_t millis = diff.total_milliseconds();
+
+ if (!accept(RPAREN)) {
+ return parseError("Expecting ')'");
+ }
+ builder.appendDate(fieldName, millis);
+ return Status::OK();
+ }
+#endif
+
Status JParse::timestamp(const StringData& fieldName, BSONObjBuilder& builder) {
if (!accept(LPAREN)) {
return parseError("Expecting '('");
@@ -997,7 +1043,14 @@
if (ret != Status::OK()) {
ostringstream message;
message << "code " << ret.code() << ": " << ret.codeString() << ": " << ret.reason();
- throw MsgAssertionException(16619, message.str());
+
+ /*std::string strReason = ret.reason();
+ char *charReason = new char[strReason.size() + 1];
+ std::copy(strReason.begin(), strReason.end(), charReason);
+ charReason[strReason.size()] = '\0';
+ */
+
+ throw ParseMsgAssertionException(16619, message.str(), jparse.offset(), ret.reason());
}
if (len) *len = jparse.offset();
return builder.obj();
@@ -1007,4 +1060,5 @@
return fromjson( str.c_str() );
}
+} /* namespace Robomongo */
} /* namespace mongo */
-33
View File
@@ -1,33 +0,0 @@
--- /home/dmitry/libs/mongo/src/mongo/db/json.h 2013-02-17 22:49:18.200603373 +0300
+++ /home/dmitry/dev/robomongo/src/robomongo/shell/db/json.h 2013-02-20 17:54:08.803608171 +0300
@@ -22,6 +22,7 @@
#include "mongo/base/status.h"
namespace mongo {
+namespace Robomongo {
/**
* Create a BSONObj from a JSON <http://www.json.org>,
@@ -191,6 +192,16 @@
*/
Status date(const StringData& fieldName, BSONObjBuilder&);
+#ifdef ROBOMONGO
+ /* The following functions only parse the body of the ISODate function
+ * between the parentheses, not including the function name */
+ /*
+ * ISODATE :
+ * ISODate( <date time string in ISO 8601 format> )
+ */
+ Status isodate(const StringData& fieldName, BSONObjBuilder&);
+#endif
+
/*
* TIMESTAMP :
* Timestamp( <32 bit unsigned integer for seconds since epoch>,
@@ -378,4 +389,5 @@
const char* const _input_end;
};
+} /* namespace Robomongo */
} // namespace mongo
@@ -1,13 +0,0 @@
--- /home/dmitry/libs/mongo/src/mongo/scripting/engine.cpp 2013-02-17 22:49:18.252603371 +0300
+++ /home/dmitry/dev/robomongo/src/robomongo/shell/scripting/engine.cpp 2013-03-05 00:09:11.245682116 +0300
@@ -28,6 +28,10 @@
#include "mongo/util/file.h"
namespace mongo {
+#ifdef ROBOMONGO
+ volatile bool Scope::_interruptFlag = false;
+#endif
+
long long Scope::_lastVersion = 1;
static const unsigned kMaxJsFileLength = std::numeric_limits<unsigned>::max() - 1;
@@ -1,184 +0,0 @@
--- /home/dmitry/libs/mongo/src/mongo/scripting/engine_spidermonkey.cpp 2013-02-17 22:49:18.252603371 +0300
+++ /home/dmitry/dev/robomongo/src/robomongo/shell/scripting/engine_spidermonkey.cpp 2013-03-05 00:27:48.373648252 +0300
@@ -25,11 +25,57 @@
#include <boost/date_time/posix_time/posix_time.hpp>
#endif
-#include <third_party/js-1.7/jsdate.h>
+#include <js/jsdate.h>
#include "mongo/scripting/engine_spidermonkey_internal.h"
#include "mongo/util/mongoutils/str.h"
+#ifdef ROBOMONGO
+std::vector<mongo::BSONObj> __objects;
+std::string __type; // type of request
+bool __finished; // typed request is finished
+std::stringstream __logs;
+
+void robomongo_reset_type() {
+ __type == "";
+ __finished == false;
+}
+
+void robomongo_reset() {
+ __objects.clear();
+ __logs.str("");
+ robomongo_reset_type();
+}
+
+void robomongo_add_bsonobj(const mongo::BSONObj &obj) {
+ if (__finished) {
+ robomongo_reset_type();
+ }
+
+ __objects.push_back(obj);
+}
+
+void robomongo_begin(const std::string &type) {
+ if (__objects.size() != 0) {
+ robomongo_reset_type();
+ return;
+ }
+
+ if (__finished) {
+ robomongo_reset_type();
+ return;
+ }
+
+ __type = type;
+ __finished = false;
+}
+
+void robomongo_end() {
+ __finished = true;
+}
+
+#endif
+
namespace mongo {
/* used to make the logging not overly chatty in the mongo shell. */
@@ -1047,17 +1093,28 @@
Convertor c( cx );
for ( uintN i=0; i<argc; i++ ) {
if ( i > 0 )
- ss << " ";
- ss << c.toString( argv[i] );
+ __logs << " ";
+
+
+ if (!(JSVAL_IS_OBJECT(argv[i])))
+ {
+ __logs << c.toString(argv[i]);
someWritten = true;
+ continue;
}
- ss << "\n";
- Logstream::logLockless( ss.str() );
+
+ BSONObj obj = c.toObject(argv[i]);
+ robomongo_add_bsonobj(obj);
+ }
+
+ if ( someWritten )
+ __logs << "\n";
+
}
catch ( const AssertionException& ) {
if ( someWritten ) {
- ss << "\n";
- Logstream::logLockless( ss.str() );
+ __logs << "\n";
+ Logstream::logLockless( __logs.str() );
}
return JS_FALSE;
}
@@ -1068,6 +1125,28 @@
return JS_TRUE;
}
+ JSBool robomongo_print( JSContext * cx, JSObject * obj, uintN argc, jsval *argv, jsval *rval ) {
+ try {
+ Convertor c( cx );
+
+ if (!(JSVAL_IS_STRING(argv[0]))) {
+ return JS_TRUE;
+ }
+
+ std::string type = c.toString(argv[0]);
+ if (type.empty()) {
+ robomongo_end();
+ } else {
+ robomongo_begin(type);
+ }
+ }
+ catch ( const std::exception& e ) {
+ log() << "unhandled exception: " << e.what() << ", throwing Fatal Assertion" << endl;
+ fassertFailed( 16281 );
+ }
+ return JS_TRUE;
+ }
+
JSBool native_helper( JSContext *cx , JSObject *obj , uintN argc, jsval *argv , jsval *rval ) {
try {
Convertor c(cx);
@@ -1126,6 +1205,7 @@
JSFunctionSpec globalHelpers[] = {
{ "print" , &native_print , 0 , 0 , 0 } ,
+ { "robomongoScope" , &robomongo_print , 0 , 0 , 0 } ,
{ "nativeHelper" , &native_helper , 1 , 0 , 0 } ,
{ "load" , &native_load , 1 , 0 , 0 } ,
{ "gc" , &native_gc , 1 , 0 , 0 } ,
@@ -1550,6 +1630,12 @@
// javascript code; returning false without an exception exits
// immediately
JSBool SMScope::_interrupt( JSContext *cx ) {
+#ifdef ROBOMONGO
+ if (Scope::_interruptFlag) {
+ Scope::setInterruptFlag(false);
+ return JS_FALSE;
+ }
+#endif
TimeoutSpec &spec = *(TimeoutSpec *)( JS_GetContextPrivate( cx ) );
if ( ++spec.count % 1000 != 0 )
return JS_TRUE;
@@ -1565,7 +1651,6 @@
return JS_TRUE;
}
return JS_FALSE;
-
}
void SMScope::installInterrupt( int timeoutMs ) {
@@ -1627,8 +1712,8 @@
jsval v;
if ( JS_GetPendingException( _context , &v ) ) {
_error = _convertor->toString( v );
- if ( reportError )
- cout << _error << endl;
+ // if ( reportError )
+ // cout << _error << endl;
}
}
@@ -1639,7 +1724,7 @@
_convertor->setProperty( _global , "__lastres__" , ret );
if ( worked && printResult && ! JSVAL_IS_VOID( ret ) )
- cout << _convertor->toString( ret ) << endl;
+ __logs << _convertor->toString( ret ) << endl;
return worked;
}
@@ -1766,7 +1851,8 @@
}
if ( !currentScope.get() || currentScope->isReportingErrors() ) {
- tlog() << ss.str() << endl;
+ __logs << ss.str() << endl;
+ //tlog() << ss.str() << endl;
}
if ( currentScope.get() ) {
@@ -1,29 +0,0 @@
--- /home/dmitry/libs/mongo/src/mongo/scripting/sm_db.cpp 2013-02-17 22:49:18.252603371 +0300
+++ /home/dmitry/dev/robomongo/src/robomongo/shell/scripting/sm_db.cpp 2013-02-19 20:18:04.893965480 +0300
@@ -1508,6 +1508,17 @@
return JS_TRUE;
}
+#ifdef ROBOMONGO
+ JSFunctionSpec mongo_functions_workaround[] = {
+ { "auth" , mongo_auth , 0 , JSPROP_READONLY | JSPROP_PERMANENT, 0 } ,
+ { "logout", mongo_logout, 0, JSPROP_READONLY | JSPROP_PERMANENT, 0 },
+ { "find" , mongo_find , 0 , JSPROP_READONLY | JSPROP_PERMANENT, 0 } ,
+ { "update" , mongo_update , 0 , JSPROP_READONLY | JSPROP_PERMANENT, 0 } ,
+ { "insert" , mongo_insert , 0 , JSPROP_READONLY | JSPROP_PERMANENT, 0 } ,
+ { "remove" , mongo_remove , 0 , JSPROP_READONLY | JSPROP_PERMANENT, 0 }
+ };
+#endif
+
JSFunctionSpec numberint_functions[] = {
{ "valueOf" , numberint_valueof , 0 , JSPROP_READONLY | JSPROP_PERMANENT, 0 } ,
{ "toNumber" , numberint_tonumber , 0 , JSPROP_READONLY | JSPROP_PERMANENT, 0 } ,
@@ -1630,7 +1641,7 @@
void initMongoJS( SMScope * scope , JSContext * cx , JSObject * global , bool local ) {
- verify( JS_InitClass( cx , global , 0 , &mongo_class , local ? mongo_local_constructor : mongo_external_constructor , 0 , 0 , mongo_functions , 0 , 0 ) );
+ verify( JS_InitClass( cx , global , 0 , &mongo_class , local ? mongo_local_constructor : mongo_external_constructor , 0 , 0 , mongo_functions_workaround /*P mongo_functions */, 0 , 0 ) );
verify( JS_InitClass( cx , global , 0 , &object_id_class , object_id_constructor , 0 , 0 , 0 , 0 , 0 ) );
verify( JS_InitClass( cx , global , 0 , &db_class , db_constructor , 2 , 0 , 0 , 0 , 0 ) );
-20
View File
@@ -1,20 +0,0 @@
--- libs/mongo/src/mongo/scripting/engine.h 2013-02-17 22:13:19.100668823 +0300
+++ dev/robomongo/include/mongo/scripting/engine.h 2012-12-02 23:46:08.000000000 +0300
@@ -196,13 +196,17 @@
virtual void interrupt( unsigned opSpec ) {}
virtual void interruptAll() {}
static void setGetInterruptSpecCallback( unsigned ( *func )() ) { _getInterruptSpecCallback = func; }
static bool haveGetInterruptSpecCallback() { return _getInterruptSpecCallback; }
static unsigned getInterruptSpec() {
+ #ifdef ROBOMONGO
+ //massert( 13474, "no _getInterruptSpecCallback", _getInterruptSpecCallback );
+ #else
massert( 13474, "no _getInterruptSpecCallback", _getInterruptSpecCallback );
+ #endif
return _getInterruptSpecCallback();
}
static void setCheckInterruptCallback( const char * ( *func )() ) { _checkInterruptCallback = func; }
static bool haveCheckInterruptCallback() { return _checkInterruptCallback; }
static const char * checkInterrupt() {
-55
View File
@@ -1,55 +0,0 @@
--- libs/mongo/src/mongo/scripting/engine_spidermonkey.h 2013-02-17 22:13:19.100668823 +0300
+++ dev/robomongo/include/mongo/scripting/engine_spidermonkey.h 2012-12-06 00:35:01.722024190 +0300
@@ -19,20 +19,34 @@
#include "mongo/scripting/engine.h"
// START inc hacking
#ifdef WIN32
+#ifdef ROBOMONGO
+#include "js/jstypes.h"
+#else
#include <third_party/js-1.7/jstypes.h>
+#endif
#undef JS_PUBLIC_API
#undef JS_PUBLIC_DATA
#define JS_PUBLIC_API(t) t __cdecl
#define JS_PUBLIC_DATA(t) t
#endif
+#ifdef ROBOMONGO
+#include "js/jsapi.h"
+#else
#include <third_party/js-1.7/jsapi.h>
+#endif
+
+#ifdef ROBOMONGO
+extern std::vector<mongo::BSONObj> __objects;
+extern std::stringstream __logs;
+
+#endif
// END inc hacking
// -- SM 1.6 hacks ---
#ifndef JSCLASS_GLOBAL_FLAGS
#error old version of spider monkey ( probably 1.6 ) you should upgrade to at least 1.7
@@ -63,13 +77,17 @@
extern JSClass numberlong_class;
extern JSClass numberint_class;
extern JSClass minkey_class;
extern JSClass maxkey_class;
// internal things
+ #ifdef ROBOMONGO
+ void dontDeleteScope( SMScope * s );
+ #else
void dontDeleteScope( SMScope * s ) {}
+ #endif
void errorReporter( JSContext *cx, const char *message, JSErrorReport *report );
extern boost::thread_specific_ptr<SMScope> currentScope;
// bson
JSBool resolveBSONField( JSContext *cx, JSObject *obj, jsval id, uintN flags, JSObject **objp );
-19
View File
@@ -1,19 +0,0 @@
--- libs/mongo/src/mongo/bson/util/misc.h 2013-02-17 22:13:19.028668825 +0300
+++ dev/robomongo/include/mongo/bson/util/misc.h 2012-12-26 16:27:13.909697564 +0300
@@ -90,14 +90,16 @@
char buf[64];
time_t_to_String(toTimeT(), buf);
return buf;
}
time_t toTimeT() const {
// cant use uassert from bson/util
+ #ifndef ROBOMONGO
verify((long long)millis >= 0); // TODO when millis is signed, delete
verify(((long long)millis/1000) < (std::numeric_limits<time_t>::max)());
+ #endif
return millis / 1000;
}
};
// Like strlen, but only scans up to n bytes.
// Returns -1 if no '0' found.
-66
View File
@@ -1,66 +0,0 @@
--- libs/mongo/build/linux2/normal/mongo/shell/mongo.cpp 2013-02-17 03:17:22.966734885 +0300
+++ dev/robomongo/src/robomongo/shell/mongo.cpp 2013-01-13 03:00:26.137467036 +0300
@@ -1,7 +1,7 @@
-#include "bson/stringdata.h"
+#include "mongo/bson/stringdata.h"
namespace mongo {
struct JSFile{ const char* name; const StringData& source; };
namespace JSFiles{
const StringData _jscode_raw_utils =
"__quiet = false;\n"
"__magicNoPrint = { __magicNoPrint : 1111 }\n"
@@ -1254,13 +1254,13 @@
"return x.shellPrint();\n"
"\n"
"var p = x.tojson;\n"
"if (typeof p == \"function\")\n"
"print(x.tojson());\n"
"else\n"
-"print(tojson(x));\n"
+"print(x); //P was print(tojson(x));\n"
"}\n"
"\n"
"shellAutocomplete = function ( /*prefix*/ ) { // outer scope function called on init. Actual function at end\n"
"\n"
"var universalMethods = \"constructor prototype toString valueOf toLocaleString hasOwnProperty propertyIsEnumerable\".split( ' ' );\n"
"\n"
@@ -3768,22 +3768,22 @@
"\n"
"DBQuery.prototype.shellPrint = function(){\n"
"try {\n"
"var start = new Date().getTime();\n"
"var n = 0;\n"
"while ( this.hasNext() && n < DBQuery.shellBatchSize ){\n"
-"var s = this._prettyShell ? tojson( this.next() ) : tojson( this.next() , \"\" , true );\n"
+"var s = this.next(); //P was: this._prettyShell ? tojson( this.next() ) : tojson( this.next() , \"\" , true );\n"
"print( s );\n"
"n++;\n"
"}\n"
"if (typeof _verboseShell !== 'undefined' && _verboseShell) {\n"
"var time = new Date().getTime() - start;\n"
"print(\"Fetched \" + n + \" record(s) in \" + time + \"ms\");\n"
"}\n"
"if ( this.hasNext() ){\n"
-"print( \"Type \\\"it\\\" for more\" );\n"
+"//P print( \"Type \\\"it\\\" for more\" );\n"
"___it___ = this;\n"
"}\n"
"else {\n"
"___it___ = null;\n"
"}\n"
"}\n"
@@ -3794,13 +3794,13 @@
"}\n"
"\n"
"DBQuery.prototype.toString = function(){\n"
"return \"DBQuery: \" + this._ns + \" -> \" + tojson( this.query );\n"
"}\n"
"\n"
-"DBQuery.shellBatchSize = 20;\n"
+"DBQuery.shellBatchSize = 50;\n"
"\n"
"/**\n"
"* Query option flag bit constants.\n"
"* @see http://dochub.mongodb.org/core/mongowireprotocol#MongoWireProtocol-OPQUERY\n"
"*/\n"
"DBQuery.Option = {\n"
-11
View File
@@ -1,11 +0,0 @@
--- libs/mongo/build/linux2/normal/mongo/shell/mongo-server.cpp 2013-02-17 03:27:02.502717318 +0300
+++ dev/robomongo/src/robomongo/shell/mongo-server.cpp 2013-01-13 03:00:26.153467039 +0300
@@ -1,7 +1,7 @@
-#include "bson/stringdata.h"
+#include "mongo/bson/stringdata.h"
namespace mongo {
struct JSFile{ const char* name; const StringData& source; };
namespace JSFiles{
const StringData _jscode_raw_servers =
"_parsePath = function() {\n"
"var dbpath = \"\";\n"
-2
View File
@@ -1,2 +0,0 @@
Originally written for r2.2.0 revision.
Now updating to r2.4.0-rc0 revision
-31
View File
@@ -1,31 +0,0 @@
// Boost string_algo library string_algo.hpp header file ---------------------------//
// Copyright Pavol Droba 2002-2004.
//
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/ for updates, documentation, and revision history.
#ifndef BOOST_STRING_ALGO_HPP
#define BOOST_STRING_ALGO_HPP
/*! \file
Cumulative include for string_algo library
*/
#include <boost/algorithm/string/std_containers_traits.hpp>
#include <boost/algorithm/string/trim.hpp>
#include <boost/algorithm/string/case_conv.hpp>
#include <boost/algorithm/string/predicate.hpp>
#include <boost/algorithm/string/find.hpp>
#include <boost/algorithm/string/split.hpp>
#include <boost/algorithm/string/join.hpp>
#include <boost/algorithm/string/replace.hpp>
#include <boost/algorithm/string/erase.hpp>
#include <boost/algorithm/string/classification.hpp>
#include <boost/algorithm/string/find_iterator.hpp>
#endif // BOOST_STRING_ALGO_HPP
@@ -1,176 +0,0 @@
// Boost string_algo library case_conv.hpp header file ---------------------------//
// Copyright Pavol Droba 2002-2003.
//
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/ for updates, documentation, and revision history.
#ifndef BOOST_STRING_CASE_CONV_HPP
#define BOOST_STRING_CASE_CONV_HPP
#include <boost/algorithm/string/config.hpp>
#include <algorithm>
#include <locale>
#include <boost/iterator/transform_iterator.hpp>
#include <boost/range/as_literal.hpp>
#include <boost/range/begin.hpp>
#include <boost/range/end.hpp>
#include <boost/range/value_type.hpp>
#include <boost/algorithm/string/detail/case_conv.hpp>
/*! \file
Defines sequence case-conversion algorithms.
Algorithms convert each element in the input sequence to the
desired case using provided locales.
*/
namespace boost {
namespace algorithm {
// to_lower -----------------------------------------------//
//! Convert to lower case
/*!
Each element of the input sequence is converted to lower
case. The result is a copy of the input converted to lower case.
It is returned as a sequence or copied to the output iterator.
\param Output An output iterator to which the result will be copied
\param Input An input range
\param Loc A locale used for conversion
\return
An output iterator pointing just after the last inserted character or
a copy of the input
\note The second variant of this function provides the strong exception-safety guarantee
*/
template<typename OutputIteratorT, typename RangeT>
inline OutputIteratorT
to_lower_copy(
OutputIteratorT Output,
const RangeT& Input,
const std::locale& Loc=std::locale())
{
return ::boost::algorithm::detail::transform_range_copy(
Output,
::boost::as_literal(Input),
::boost::algorithm::detail::to_lowerF<
typename range_value<RangeT>::type >(Loc));
}
//! Convert to lower case
/*!
\overload
*/
template<typename SequenceT>
inline SequenceT to_lower_copy(
const SequenceT& Input,
const std::locale& Loc=std::locale())
{
return ::boost::algorithm::detail::transform_range_copy<SequenceT>(
Input,
::boost::algorithm::detail::to_lowerF<
typename range_value<SequenceT>::type >(Loc));
}
//! Convert to lower case
/*!
Each element of the input sequence is converted to lower
case. The input sequence is modified in-place.
\param Input A range
\param Loc a locale used for conversion
*/
template<typename WritableRangeT>
inline void to_lower(
WritableRangeT& Input,
const std::locale& Loc=std::locale())
{
::boost::algorithm::detail::transform_range(
::boost::as_literal(Input),
::boost::algorithm::detail::to_lowerF<
typename range_value<WritableRangeT>::type >(Loc));
}
// to_upper -----------------------------------------------//
//! Convert to upper case
/*!
Each element of the input sequence is converted to upper
case. The result is a copy of the input converted to upper case.
It is returned as a sequence or copied to the output iterator
\param Output An output iterator to which the result will be copied
\param Input An input range
\param Loc A locale used for conversion
\return
An output iterator pointing just after the last inserted character or
a copy of the input
\note The second variant of this function provides the strong exception-safety guarantee
*/
template<typename OutputIteratorT, typename RangeT>
inline OutputIteratorT
to_upper_copy(
OutputIteratorT Output,
const RangeT& Input,
const std::locale& Loc=std::locale())
{
return ::boost::algorithm::detail::transform_range_copy(
Output,
::boost::as_literal(Input),
::boost::algorithm::detail::to_upperF<
typename range_value<RangeT>::type >(Loc));
}
//! Convert to upper case
/*!
\overload
*/
template<typename SequenceT>
inline SequenceT to_upper_copy(
const SequenceT& Input,
const std::locale& Loc=std::locale())
{
return ::boost::algorithm::detail::transform_range_copy<SequenceT>(
Input,
::boost::algorithm::detail::to_upperF<
typename range_value<SequenceT>::type >(Loc));
}
//! Convert to upper case
/*!
Each element of the input sequence is converted to upper
case. The input sequence is modified in-place.
\param Input An input range
\param Loc a locale used for conversion
*/
template<typename WritableRangeT>
inline void to_upper(
WritableRangeT& Input,
const std::locale& Loc=std::locale())
{
::boost::algorithm::detail::transform_range(
::boost::as_literal(Input),
::boost::algorithm::detail::to_upperF<
typename range_value<WritableRangeT>::type >(Loc));
}
} // namespace algorithm
// pull names to the boost namespace
using algorithm::to_lower;
using algorithm::to_lower_copy;
using algorithm::to_upper;
using algorithm::to_upper_copy;
} // namespace boost
#endif // BOOST_STRING_CASE_CONV_HPP

Some files were not shown because too many files have changed in this diff Show More