
Source (link to git-repo or to original if based on someone elses unmodified work):
Scope is a free software, pure Qt filemanager focused on usability.
Features:
-Basic file management (Copy/Cut/Paste/Delete/Rename/Create Folder).
-Address bar switchable between breadcrums and simple text.
-File filter
-Tab support
-Different views (icon, list and terminal).
Dependencies:
* Qt 4.5.x.
Building
To build Scope, type the following commands in the scope root directory:
$ qmake
$ make
To run Scope, type:
$ ./scope
Scope 0.4a | 27/10/2011
-----------------------
-Added "Open With" action.
-Added support to change current default application(s).
-Improved properties dialog layout.
-Fixed folder size calculation.
-Fixed size count for multiple items.
-Set size count more readable on properties.
-Changeable permissions on non-root files/folders.
-Fixed distorted icons when showing thumbnails.
Scope 0.3a | 13/10/2011
----------------------
-Added "Create file" action.
-Added image thumbnails.
-Added settings.
-Improved icon provider.
-Fixed properties dialog when selecting multiple files.
-Open files/folders on double-click.
-Other minor improvements and bugfixes.
Scope 0.2a | 5/10/2011
----------------------
-Added tab support.
-Added terminal view.
Scope 0.1a | 28/03/2011
----------------------
-First release.
Ratings & Comments
28 Comments
i want to try out this app i placed the uncumpressed folder into my home dir if this is not the correct location plase let me know. but i cant compile it and i am confused were to go to compile it i thought it was the root directory of scope but i get the following error qmake rosefamily-System-Product-Name scope-0.4a # make cd lib && make -f Makefile make[1]: Entering directory `/home/scope-0.4a/lib' g++ -c -pipe -g -Wall -W -O2 -D_REENTRANT -DHAVE_POSIX_OPENPT -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT -I/usr/share/qt3/mkspecs/default -I. -I/usr/include/qt3 -I../.moc/ -o ../.objs/TerminalCharacterDecoder.o TerminalCharacterDecoder.cpp In file included from TerminalCharacterDecoder.h:27:0, from TerminalCharacterDecoder.cpp:25: Character.h:29:24: fatal error: QtCore/QHash: No such file or directory compilation terminated. make[1]: *** [../.objs/TerminalCharacterDecoder.o] Error 1 make[1]: Leaving directory `/home/scope-0.4a/lib' make: *** [sub-lib] Error 2
This seems nice! tested it briefly, loved it! However, I run into some bugs with the "navbar". is this ur own custom widget or is there some qt only equivalent to the KUrlNavigator? The bookmarkssystem, have u planned putting it into a QDockWidget or some other like a view with a QSplitter? having only a menusystem for this is...... too slow for me. (did not find anythign regarding this in todo) Also, there could be some toggleable (not sure how to spell that) QToolButtons for the view for easy swith.... Sry bout the 20 questions but I feel kinda excited about this little program :D I have also planned on trying to write a similar qt file manager however, I've neither the time nor the skills :(
Hi... it's me again... I've some suggestions regarding the icons... they are hardcoded to search for oxygen icons... this is not optimal, at least not for me as I tend to use more monochromatic themes. so maybe looks for the icon from the theme instead? example: pathline.cpp:91 arrow->setIcon(QIcon("/usr/share/icons/oxygen/16x16/actions/arrow-right.png")); to: arrow->setIcon(QIcon::fromTheme("arrow-right",QIcon("/usr/share/icons/oxygen/16x16/actions/arrow-right.png"))); then I set the previewwidget.cpp:51 from: ui->label->setPixmap(QPixmap("/usr/share/icons/oxygen/128x128/places/folder.png")); to: ui->label->setPixmap(QIcon::fromTheme("folder", QIcon("/usr/share/icons/oxygen/128x128/places/folder.png")).pixmap(QSize(128,128),QIcon::Normal)); it works but it's not optimal either... then I "fixed" the statusbar icons the same way :) Anyways, are u still developing this?
Quote:I've some suggestions regarding the icons... they
are hardcoded to search for oxygen icons... this is
not optimal, at least not for me as I tend to use
more monochromatic themes. so maybe looks for the
icon from the theme instead?
Yes, in fact some icons are hardcoded, like the arrows in navigation bar. I need to change that.
There is already code written to get icons using the freedesktop specification, so most of the hard part is done.
Quote:it works but it's not optimal either...
then I "fixed" the statusbar icons the same way :)
Hmn you say that isn't optimal, why?
I have a class called FileIconProvider in file_icon_provider.hpp that gets the icons, but it still uses QIcon::fromTheme() if you have a Qt version >=4.6, since Qt's implementation is slightly faster.Although i think my implementation provides more icons.
Quote:Anyways, are u still developing this?
Yes, the latest version was released two days ago. I'll have less time in the next few months due to works and exams, but i'll try to keep releasing new versions.
Keep giving sugestions, bug reports or even code. I created a project page on Savannah so people can submit bug reports, but i'm still waiting for approval. In the meantime let me know here, or if you prefer you can always let me know here
Quote:I've some suggestions regarding the icons... they
are hardcoded to search for oxygen icons... this is
not optimal, at least not for me as I tend to use
more monochromatic themes. so maybe looks for the
icon from the theme instead?
Yes, in fact some icons are hardcoded, like the arrows in navigation bar. I need to change that.
There is already code written to get icons using the freedesktop specification, so most of the hard part is done.
Quote:it works but it's not optimal either...
then I "fixed" the statusbar icons the same way :)
Hmn you say that isn't optimal, why?
I have a class called FileIconProvider in file_icon_provider.hpp that gets the icons, but it still uses QIcon::fromTheme() if you have a Qt version >=4.6, since Qt's implementation is slightly faster.Although i think my implementation provides more icons.
Quote:Anyways, are u still developing this?
Yes, the latest version was released two days ago. I'll have less time in the next few months due to works and exams, but i'll try to keep releasing new versions.
Keep giving sugestions, bug reports or even code. I created a project page on Savannah so people can submit bug reports, but i'm still waiting for approval. In the meantime let me know here, or if you prefer you can always let me know here
Ignore the above post, it's a repost. I forgot that when you try to reload the page after posting it will repost. Sorry.
Hey, Thanks for the feedback. Quote:However, I run into some bugs with the "navbar".
is this ur own custom widget or is there some
qt only equivalent to the KUrlNavigator?
Some things are custom others are already provided by Qt. What are you talking about exactly?
Quote:The bookmarkssystem, have u planned
putting it into a QDockWidget or some other
like a view with a QSplitter? having only a
menusystem for this is...... too slow for me.
(did not find anythign regarding this in todo)
Yes, definetly. The ToDo file isn't very reliable, i need to update it.
Quote:Also, there could be some toggleable (not sure
how to spell that) QToolButtons for the view
for easy swith....
Yes, that's a good idea. :)
Quote:Sry bout the 20 questions but I feel kinda
excited about this little program :D
You didn't ask 20 questions :P, but anyway i'm glad to see you are interested in this program.
Quote:I have also planned on trying to write a similar
qt file manager however, I've neither the time
nor the skills :(
I understand, i have some time because i'm a student.
I've been looking for a file manager to use with Razor-QT desktop so this looked promising. Compilation was fine but it won't run. Don't know where else to post a bug report. (gdb) backtrace #0 0x00007ffff5b7fc02 in __strlen_sse2 () from /lib/libc.so.6 #1 0x00007ffff3d5dc94 in XSetCommand () from /usr/lib/libX11.so.6 #2 0x00007ffff3d6279b in XSetWMProperties () from /usr/lib/libX11.so.6 #3 0x00007ffff6f1d277 in QWidgetPrivate::create_sys(unsigned long, bool, bool) () from /usr/lib/qt/lib/libQtGui.so.4 #4 0x00007ffff6ed4498 in QWidget::create(unsigned long, bool, bool) () from /usr/lib/qt/lib/libQtGui.so.4 #5 0x00007ffff6eddecf in QWidget::setVisible(bool) () from /usr/lib/qt/lib/libQtGui.so.4 #6 0x0000000000422e7e in Scope::Scope(QString const&, QWidget*) () #7 0x000000000041c73e in main () (gdb) QT version is 4.7.3. I know how it looks but the rest of the system is perfectly stable.
Yea, it really is odd. I will test it in Razor-Qt to see if i can notice anything else.
Been playing around a bit and can generate the same bug elsewhere. Seems the problem is with me so please ignore my original post. Thanks for the reply.
When can we expect version for Windows? I really beg for something similar like dolphin file manager from KDE. I must use windows explorer in job, it is a horror.
Hey, Glad to see some interest from other OSes. About your question, well i don't really know. But have you tried it in Windows? It should be cross-platform, although there might be some platform specific code i haven't ported to other OSes. Let me know what's missing.
Hmm I just have no idea how to compile under Windows, I ve never done something like this before. Maybe you can provide some tutorial for Windows?
Grab the latest SDK from http://qt.nokia.com/downloads Then using QtCreator just open the scope.pro, that is located in scope's source root folder. After that it should be pretty straight forward.
The panel show oxugen icons for folders, but it are not used in folder view. Personaly, i prefer the oxygen icon, but the icons must have to be the same. The views (icon, list, terminal) wold have a shortcut. I suggest f2, f3 and f4 if you want only 3 views, or a single shortcut for change the view mode (i prefer f4) In my system the mime types are not associated with programs. XDG provides this lists, i think. And, the zoom must be changed with control + mouse wheel. forgeting mime types, are little tings, little usability tricks.
Quote:The panel show oxugen icons for folders, but it are not used in folder view. Personaly, i prefer the oxygen icon, but the icons must have to be the same.
Here they are the same, which system are you using?
Anyway i'll look into it.
Quote:The views (icon, list, terminal) wold have a shortcut. I suggest f2, f3 and f4 if you want only 3 views, or a single shortcut for change the view mode (i prefer f4)
In my system the mime types are not associated with programs. XDG provides this lists, i think.
And, the zoom must be changed with control + mouse wheel.
Ok, eventually this will be implemented. I appreciate the suggestions.
excellent job, best regards and go for more
Hey, thanks. What about your project?
I am surfing on wayland... very experimental aproach of Non-X Desktop using qt-compositor and wayland-qt of Qt5 branch... But that combination is very promising
========================================= g++ -c -pipe -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../share/qt4/mkspecs/linux-g++ -I. -I../../../../include/qt4/QtCore -I../../../../include/qt4/QtCore -I../../../../include/qt4/QtGui -I../../../../include/qt4/QtGui -I../../../../include/qt4/QtDBus -I../../../../include/qt4/QtDBus -I../../../../include/qt4 -I. -Isource -Isource/dialogs -Isource/adaptors -Isource/right_panel -I. -I. -o scope.o source/scope.cpp ./ui_scope.h:197: warning: unused parameter 'ScopeWindow' source/scope.cpp: In member function 'bool Scope::setDir(const QString&)': source/scope.cpp:131: error: 'class QList<QAction*>' has no member named 'length' source/scope.cpp: At global scope: source/scope.cpp:398: warning: unused parameter 'deselected' source/scope.cpp: In member function 'void Scope::goBack(QAction*)': source/scope.cpp:449: error: 'class QList<QAction*>' has no member named 'length' source/scope.cpp:463: error: 'class QList<QAction*>' has no member named 'length' source/scope.cpp:467: error: 'class QList<QAction*>' has no member named 'length' source/scope.cpp: In member function 'void Scope::goForward(QAction*)': source/scope.cpp:502: error: 'class QList<QAction*>' has no member named 'length' source/scope.cpp:516: error: 'class QList<QAction*>' has no member named 'length' source/scope.cpp:520: error: 'class QList<QAction*>' has no member named 'length' make: *** [scope.o] Error 1 ======================================= rpm -q libqt4 libqt4-4.4.3-alt1.M41.1 :(
I uploaded a new source package and replaced length() calls with size() which should be available for older Qt versions.
g++ -I. -I../../../../include/qt4/QtCore -I../../../../include/qt4/QtCore -I../../../../include/qt4/QtGui -I../../../../include/qt4/QtGui -I../../../../include/qt4/QtDBus -I../../../../include/qt4/QtDBus -I../../../../include/qt4 -I. -Isource -Isource/dialogs -Isource/adaptors -Isource/right_panel -Ibuild -Ibuild -o build/lineedit.o source/lineedit.cpp source/lineedit.cpp: In member function 'void LineEdit::updateTextMargins()': source/lineedit.cpp:170: error: 'setTextMargins' was not declared in this scope make: *** [build/lineedit.o] Error 1
It's the same issue as before. (get/set)textMargins() require Qt versions newer than 4.4. :( The other issue was easy to fix. But this is more complicated, first because i didn't produce that code and secondly i would have to simulate the textMargin's behaviour. The best i can do now is check for the Qt version and if it is below a certain version, disable that feature, so you can compile and run it. I don't have much time now even to do that, but i'll try to be as quick as possible. Thanks.
This is in no hurry. At home I have a newer system, where the program compiles without problems.
Now I am able to successfully compile scope and going to play with scope. Thank you. BTW my qt version is 4.7.2.