Skip to content

Commit

Permalink
Qt5 migration complete. NB3 Beta2 Release.
Browse files Browse the repository at this point in the history
  • Loading branch information
marcusbritanicus committed Feb 25, 2018
1 parent 3e1e47b commit 8b5cfeb
Show file tree
Hide file tree
Showing 38 changed files with 2,669 additions and 151 deletions.
4 changes: 4 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
Version 3.0.0 Beta
- Feature: Inbuilt encryption support via NBVault
- Feature: Inbuilt desktop file editor
- Feature: Partial folding of categories
- Improvements to NBSidePanel
- Fixed NBIconView selection bugs
- Qt5 now preferred Qt version
- Several bug fixes.

Version 3.0.0 Alpha
Expand Down
7 changes: 3 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

Chat with me at [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/newbreezefm/)

### Qt5 builds are now supported
### Qt5 migration complete. Qt5 is now the preferred Qt version.

### Note: NewBreeze 3.0 is in the oven. Expect several changes..!!

Expand All @@ -16,13 +16,12 @@ Some of its features are
* Provides Categorized List, Icon and Details View
* Sleek side panel showing drives and boomarks
* Full drag and drop support
* Applications and Catalog View
* Applications, Catalog View and SuperStart
* Auto update devices list
* Custom Folder Icons and Thumbnail Preview
* Complete mime-icon support
* BreadCrumbs Navigation Bar
* Custom Actions
* Inline terminal
* Custom Actions and Inline terminal
* SingleApplication Mode for resource sharing
* Plugin System Support

Expand Down
15 changes: 9 additions & 6 deletions ReleaseNotes
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ This is a completely native style GUI application. NewBreeze Native UI has been
few changes in NewBreeze 3.

=> Qt5 Support
- This release onwards Qt5 builds are supported. Use qmake-qt5 to build using Qt5.
- Qt5 is now the preferred version. Changes may or may not be backwards compatible.
- This release onwards Qt5 builds are supported. Use qmake to build using Qt5.

=> User interface rebuilt, integrating code from NewBreeze and NewBreezeUI
- File/Folder filtering
Expand All @@ -26,9 +27,11 @@ few changes in NewBreeze 3.

=> NBIconView( QAbstractItemModel )
- Per-folder views are now enabled. Each folder remembers its previous state ( size, grouping, list view, etc )
- Mac-style partial folding of categories is now enabled.
- Fixed the small issue of mouse/cursor selection conflict.
- Fixed the SegFault with cursor up and down movements.
# Currently has issues with cursorMovements. Will be fixed by v3-rc
# List View and Tiles view are currently disabled. Will be fixed by v3-beta3

=> UI
- An elementary Accidental Delete Protection (ADP) has been added. However it is not mature enough for commercial use.
Expand Down Expand Up @@ -61,22 +64,22 @@ few changes in NewBreeze 3.
- NBArchive is now rebuilt using libarchive for archive processing
- GZip, BZip2, and XZ files are processed independently
- Archive creation now shows a pretty dialog with some options
- Archive creation and extraction is done via QtConcurrent::run(...)
- Archive creation and extraction is done via QtConcurrent::run(...) [Needs improvements]
- Archive previews are now available, though it needs some improvements

=> SuperStart: A Super start to your day
- All Drives are shown as you start NewBreeze.
- Find all the important files and folders as soon as you start NewBreeze.
- Press Ctrl+U to add file(s)/folder(s) to SuperStart.
- Press Ctrl+U to add selected file(s)/folder(s) to SuperStart.
- In SuperStart, press Delete to remove them, F2 change the display name.
- Note that changing display name does not rename the actual file of the hard drive.
- A menu will be added later.
- Note that changing display name does not rename the actual file on the hard drive.
- A context menu will be added later.

=> NewBreeze Vault: Requires 'encfs'
NOTE: This is work in progress. The first basic implementation is completed.
- You can now access all your encrypted files and folders with out having to remember every password.
- Currently, all the encrypted files and folders are being stored in and retrieved from an encrypted database.
- Each added file or folder will be encrypted using a randomly generated unique 8196 bit (1 kiB) key.
- NBCrypt Plugin is deprecated and a dummy will be installed in its place.
- NBCrypt Plugin is deprecated and a dummy will be installed in its place. (Will be removed in V3 stable release.)
- Create a new ecrypted directory by pressing Ctrl+Shift+U.
- Existing files/directories can be encrypted by choosing Actions > Encrypt in the context menu.
32 changes: 9 additions & 23 deletions app/Gui/Dialogs/SettingsManager/NBSPluginsWidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,12 @@ void NBSPluginsWidget::createGUI() {
pPathsLW = new QListWidget( this );

// Populating the pPathsLW
QSettings nbsett( "NewBreeze", "NewBreeze" );
QSettings nbsett( "NewBreeze", "Plugins" );

QStringList pluginPaths;
#if QT_VERSION >= 0x050000
if ( not nbsett.value( "PluginPaths5" ).toStringList().count() )
nbsett.setValue( "PluginPaths5", QStringList() << "/usr/lib/newbreeze/plugins5" << NBXdg::home() + ".config/NewBreeze/plugins5/" );
pPathsLW->addItems( nbsett.value( "PluginPaths5" ).toStringList() );
#else
if ( not nbsett.value( "PluginPaths" ).toStringList().count() )
nbsett.setValue( "PluginPaths", QStringList() << "/usr/lib/newbreeze/plugins" << NBXdg::home() + ".config/NewBreeze/plugins/" );
pPathsLW->addItems( nbsett.value( "PluginPaths" ).toStringList() );
#endif
if ( not nbsett.value( "PluginPaths" ).toStringList().count() )
nbsett.setValue( "PluginPaths", QStringList() << "/usr/lib/newbreeze/plugins" << NBXdg::home() + ".config/NewBreeze/plugins/" );
pPathsLW->addItems( nbsett.value( "PluginPaths" ).toStringList() );

pathsBtn = new NBSegmentButton( this );
pathsBtn->setCount( 2 );
Expand Down Expand Up @@ -91,19 +85,11 @@ void NBSPluginsWidget::updateSettings() {
QSettings nbsett( "NewBreeze", "NewBreeze" );

QStringList pluginPaths;
#if QT_VERSION >= 0x050000
if ( not paths.count() )
nbsett.setValue( "PluginPaths5", QStringList() << "/usr/lib/newbreeze/plugins5" << NBXdg::home() + ".config/NewBreeze/plugins5/" );

else
nbsett.setValue( "PluginPaths5", paths );
#else
if ( not paths.count() )
nbsett.setValue( "PluginPaths", QStringList() << "/usr/lib/newbreeze/plugins" << NBXdg::home() + ".config/NewBreeze/plugins/" );

else
nbsett.setValue( "PluginPaths", paths );
#endif
if ( not paths.count() )
nbsett.setValue( "PluginPaths", QStringList() << "/usr/lib/newbreeze/plugins" << NBXdg::home() + ".config/NewBreeze/plugins/" );

else
nbsett.setValue( "PluginPaths", paths );

pPathsLW->clear();
pPathsLW->addItems( nbsett.value( "PluginPaths5" ).toStringList() );
Expand Down
13 changes: 7 additions & 6 deletions app/Gui/Others/PluginManager/NBPluginManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -94,19 +94,19 @@ void NBPluginManager::reloadPeekPlugins() {

void NBPluginManager::reloadOtherPlugins() {

QSettings nbsett( "NewBreeze", "NewBreeze" );
QSettings nbsett( "NewBreeze", "Plugins" );

QStringList pluginPaths;
#if QT_VERSION >= 0x050000
pluginPaths << nbsett.value( "PluginPaths5", QStringList() << "./plugins5" ).toStringList();
#else
pluginPaths << nbsett.value( "PluginPaths", QStringList() << "./plugins" ).toStringList();
#endif
pluginPaths << nbsett.value( "PluginPaths", QStringList() << "./plugins" ).toStringList();

int parsed = 0;
int added = 0;

mPluginsHash.clear();
Q_FOREACH( QString path, pluginPaths ) {
QDir pPathDir( path );
Q_FOREACH( QString pluginSo, pPathDir.entryList( QStringList() << "*.so", QDir::Files, QDir::Name ) ) {
parsed++;
QPluginLoader loader( pPathDir.absoluteFilePath( pluginSo ) );
QObject *pObject = loader.instance();
if ( pObject ) {
Expand All @@ -115,6 +115,7 @@ void NBPluginManager::reloadOtherPlugins() {
continue;

mPluginList << plugin;
added++;
Q_FOREACH( NBPluginInterface::Interface iface, plugin->interfaces() ) {
NBContextPluginHash cph = mPluginsHash.value( iface );
Q_FOREACH( NBPluginInterface::Context ctxt, plugin->contexts( iface ) ) {
Expand Down
5 changes: 5 additions & 0 deletions app/Main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,11 @@ int main( int argc, char **argv ) {

qRegisterMetaType<NBDeviceInfo>( "NBDeviceInfo" );

/* Necessary when using QWebEngine from plugins */
#if QT_VERSION >= 0x050400
QCoreApplication::setAttribute( Qt::AA_ShareOpenGLContexts );
#endif

NBApplication app( argc, argv, "NewBreeze" );

/* About Application */
Expand Down
8 changes: 4 additions & 4 deletions app/README
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
NewBreeze - A fast and light-weight file manager based on Qt
============================================================

Qt5 builds are now supported
Qt5 migration complete. Qt5 is now the preferred Qt version.

Note: NewBreeze 3.0 is in the oven. Expect several changes..!!

Expand All @@ -13,14 +13,14 @@ Some of its features are
- Provides Categorized List, Icon and Details View
- Sleek side panel showing drives and boomarks
- Full drag and drop support
- Applications and Catalog View
- Applications, Catalog View and SuperStart
- Auto update devices list
- Custom Folder Icons and Thumbnail Preview
- Complete mime-icon support
- BreadCrumbs Navigation Bar
- Custom Actions
- Inline terminal
- Custom Actions and Inline terminal
- SingleApplication Mode for resource sharing
- Plugin System Support

Please READ the ReleaseNotes for information on the new features

Expand Down
10 changes: 5 additions & 5 deletions app/Vault/Vault.pro
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ INCLUDEPATH += . ../../common/include EncFS KeyDialog Salsa20

greaterThan(QT_MAJOR_VERSION, 4) {
Qt += widgets
LIBS += -L../../common/ -lnewbreeze-common5
LIBS += -L../../common/ -lnewbreeze-common4
}

isEqual(QT_MAJOR_VERSION, 4) {
Expand Down Expand Up @@ -59,10 +59,10 @@ isEmpty( BUILD_PREFIX ) {
BUILD_PREFIX = ./build
}

MOC_DIR = $$BUILD_PREFIX/moc-vault
OBJECTS_DIR = $$BUILD_PREFIX/obj-vault
RCC_DIR = $$BUILD_PREFIX/qrc-vault
UI_DIR = $$BUILD_PREFIX/uic-vault
MOC_DIR = $$BUILD_PREFIX/moc-vault4
OBJECTS_DIR = $$BUILD_PREFIX/obj-vault4
RCC_DIR = $$BUILD_PREFIX/qrc-vault4
UI_DIR = $$BUILD_PREFIX/uic-vault4

greaterThan(QT_MAJOR_VERSION, 4) {
MOC_DIR = $$BUILD_PREFIX/moc-vault5
Expand Down
8 changes: 4 additions & 4 deletions app/app.pro
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
TEMPLATE = app

TARGET = newbreeze3
TARGET = newbreeze3qt4
greaterThan(QT_MAJOR_VERSION, 4) {
TARGET = newbreeze3qt5
TARGET = newbreeze3
}

QT += network sql
Expand All @@ -12,11 +12,11 @@ greaterThan(QT_MAJOR_VERSION, 4) {
}

isEqual( QT_MAJOR_VERSION, 4 ) {
LIBS += -L../common/ -lnewbreeze-common
LIBS += -L../common/ -lnewbreeze-common4
}

isEqual( QT_MAJOR_VERSION, 5 ) {
LIBS += -L../common/ -lnewbreeze-common5
LIBS += -L../common/ -lnewbreeze-common
}

LIBS += -larchive -lz
Expand Down
4 changes: 3 additions & 1 deletion app/debian/changelog
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
newbreeze (3.0.0-beta) unstable; urgency=low
newbreeze (3.0.0-beta2) unstable; urgency=low

* Feature: Inbuilt encryption support via NBVault
* Feature: Inbuilt desktop file editor
* Feature: Partial folding of categories
* Improvements to NBSidePanel
* Fixed NBIconView selection bugs
* Qt5 now preferred Qt version
* Several bug fixes.

-- Marcus Britanicus <[email protected]> Fri, 23 Feb 2018 12:17:00 +0530
Expand Down
1 change: 1 addition & 0 deletions common/DeviceInfo/NBDeviceInfo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,7 @@ void NBDeviceManager::pollDevices() {
virtualFS << "sysfs" << "cgroup" << "cgroup2" << "proc" << "devtmpfs" << "devpts";
virtualFS << "tmpfs" << "securityfs" << "pstore" << "autofs" << "mqueue";
virtualFS << "debugfs" << "hugetlbfs" << "fusectl" << "fuse.gvfsd-fuse";
virtualFS << "binfmt_misc";

while( ( entry = getmntent( fp ) ) != NULL ) {
/* Remove virtual mount points: dev, sys, proc etc */
Expand Down
16 changes: 7 additions & 9 deletions common/common.pro
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
TEMPLATE = lib
TARGET = newbreeze-common
TARGET = newbreeze-common4

VERSION = 3.0.0

Expand Down Expand Up @@ -49,8 +49,6 @@ lessThan(QT_MAJOR_VERSION, 5) {
HEADERS += include/QCryptographicHash5.hpp
SOURCES += QCryptographicHash5/QCryptographicHash5.cpp

# NBDeviceInfo from Qt5 v5.4

# QMimeType from Qt5 v5.0+
HEADERS += include/QMimeDatabase.hpp
HEADERS += include/QMimeType.hpp
Expand Down Expand Up @@ -89,13 +87,13 @@ isEmpty( BUILD_PREFIX ) {
BUILD_PREFIX = ./build
}

MOC_DIR = $$BUILD_PREFIX/moc-common
OBJECTS_DIR = $$BUILD_PREFIX/obj-common
RCC_DIR = $$BUILD_PREFIX/qrc-common
UI_DIR = $$BUILD_PREFIX/uic-common
MOC_DIR = $$BUILD_PREFIX/moc-common4
OBJECTS_DIR = $$BUILD_PREFIX/obj-common4
RCC_DIR = $$BUILD_PREFIX/qrc-common4
UI_DIR = $$BUILD_PREFIX/uic-common4

greaterThan(QT_MAJOR_VERSION, 4) {
TARGET = newbreeze-common5
TARGET = newbreeze-common
MOC_DIR = $$BUILD_PREFIX/moc-common5
OBJECTS_DIR = $$BUILD_PREFIX/obj-common5
RCC_DIR = $$BUILD_PREFIX/qrc-common5
Expand All @@ -122,6 +120,6 @@ unix {

greaterThan(QT_MAJOR_VERSION, 4) {
static.path = $$PREFIX/lib/newbreeze
static.files = libnewbreeze-common5.a
static.files = libnewbreeze-common.a
}
}
5 changes: 3 additions & 2 deletions common/debian/changelog
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
newbreeze-common (3.0.0-beta) unstable; urgency=medium
newbreeze-common (3.0.0-beta2) unstable; urgency=medium

* Minor modifications to NBAppFile and NBAppEngine
* Updates to NBDeviceInfo class to filter virtual FS

-- Marcus Britanicus <[email protected]> Fri, 23 Feb 2018 12:17:00 +0530

newbreeze-common (3.0.0) unstable; urgency=medium
newbreeze-common (3.0.0-alpha) unstable; urgency=medium

* Initial Release.

Expand Down
15 changes: 6 additions & 9 deletions plugins/Crypt/Crypt.pro
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
TEMPLATE = lib
TARGET = NBCrypt
TARGET = NBCrypt4

# Common Sources
INCLUDEPATH += ../../common/ ../../common/include
Expand Down Expand Up @@ -36,13 +36,13 @@ isEmpty( BUILD_PREFIX ) {
BUILD_PREFIX = ./build
}

MOC_DIR = $$BUILD_PREFIX/moc-plugins
OBJECTS_DIR = $$BUILD_PREFIX/obj-plugins
RCC_DIR = $$BUILD_PREFIX/qrc-plugins
UI_DIR = $$BUILD_PREFIX/uic-plugins
MOC_DIR = $$BUILD_PREFIX/moc-plugins4
OBJECTS_DIR = $$BUILD_PREFIX/obj-plugins4
RCC_DIR = $$BUILD_PREFIX/qrc-plugins4
UI_DIR = $$BUILD_PREFIX/uic-plugins4

greaterThan(QT_MAJOR_VERSION, 4) {
TARGET = NBCrypt5
TARGET = NBCrypt
MOC_DIR = $$BUILD_PREFIX/moc-plugins5
OBJECTS_DIR = $$BUILD_PREFIX/obj-plugins5
RCC_DIR = $$BUILD_PREFIX/qrc-plugins5
Expand All @@ -65,7 +65,4 @@ unix {
QMAKE_RPATHDIR += $$PREFIX/lib/newbreeze/

target.path = $$PREFIX/lib/newbreeze/plugins
greaterThan(QT_MAJOR_VERSION, 4) {
target.path = $$PREFIX/lib/newbreeze/plugins5
}
}
Loading

0 comments on commit 8b5cfeb

Please sign in to comment.