Advice regarding making a file explorer with C++ for as a semester project.

Ask any support questions here
Post Reply
peterschmidt
Posts: 1
Joined: Thu Jul 25, 2024 2:26 pm

Advice regarding making a file explorer with C++ for as a semester project.

Post by peterschmidt »

So my friend and I decided to make a file manaslopeger as a semester project. But I am just beginning to learn C++ (haven't completed the basics) so I don't know where to begin with. We have 3-3.5 months to make the project.

My questions:

Q: Is it possible to make a file manager that works both on Windows and Linux?

Q: What do I have to learn to make a file explorer?

Q: How hard would it be to make a gui for the file explorer? I have heard of Imgui but nothing more.

That's all. Please tell me if you need any other details. I would highly appreciate any help!
Last edited by peterschmidt on Mon Jul 29, 2024 1:04 pm, edited 1 time in total.
David Erceg
Site Admin
Posts: 944
Joined: Sat Apr 18, 2009 1:46 am

Re: Advice regarding making a file explorer with C++ for as a semester project.

Post by David Erceg »

Hi! Hopefully the answers below are of some help.
Q: Is it possible to make a file manager that works both on Windows and Linux?
Yes, Dolphin is one example.
Q: What do I have to learn to make a file explorer?
The basic functionality would include:
  • Enumerating a list of files in a directory.
  • Displaying the files in a view, with the appropriate icon for each file being used.
  • Handling double click. Double clicking on a folder should result in a navigation into that folder. Double clicking on a file should result in that file being opened.
From there, you can also think about what other sort of functionality you want to provide. For example:
  • Storing navigation history, to allow the user to navigate back/forward.
  • Showing information about the current view in a status bar (e.g. total file count, total size, number of items selected, amount of free space on that drive).
  • Adding an address bar, so that the user can see the path of the current folder.
  • Allowing file operations to be carried out. For example, allowing the user to rename, copy, move or delete files.
  • Allowing files to be pasted from the clipboard.
  • Showing a context menu when a file is right-clicked, or the background is right-clicked.
  • Displaying a folder tree in the left pane.
  • Monitoring directories for changes, so that the contents can be automatically updated.
Q: How hard would it be to make a gui for the file explorer? I have heard of Imgui but nothing more.
Qt is often recommended for C++. I haven't used it myself, so I can't say exactly how difficult it is to get started with, but simply displaying a list of files probably wouldn't be too hard. Qt is also what Dolphin uses, so that would let you run your application on both Linux and Windows.

Since you've only started learning C++, I would stick with the basics of enumerating a list of files and displaying them.
Post Reply