summaryrefslogtreecommitdiff
path: root/Applications/FileManager
diff options
context:
space:
mode:
authorAndreas Kling <kling@serenityos.org>2020-09-17 14:34:47 +0200
committerAndreas Kling <kling@serenityos.org>2020-09-17 14:34:47 +0200
commit8055f7a1f5e511e5e4e8c12d98f8799d8c9145eb (patch)
tree948ca4c56825e5c74c0e261f1c4ace0f94bdac5f /Applications/FileManager
parent4e8c50d92d0077e3f6cec61cb936db425acefdc8 (diff)
downloadserenity-8055f7a1f5e511e5e4e8c12d98f8799d8c9145eb.zip
FileManager: Move the DesktopWidget to its own compilation unit
Diffstat (limited to 'Applications/FileManager')
-rw-r--r--Applications/FileManager/CMakeLists.txt1
-rw-r--r--Applications/FileManager/DesktopWidget.cpp47
-rw-r--r--Applications/FileManager/DesktopWidget.h45
-rw-r--r--Applications/FileManager/main.cpp19
4 files changed, 95 insertions, 17 deletions
diff --git a/Applications/FileManager/CMakeLists.txt b/Applications/FileManager/CMakeLists.txt
index d54efc046c..d8d1178538 100644
--- a/Applications/FileManager/CMakeLists.txt
+++ b/Applications/FileManager/CMakeLists.txt
@@ -1,4 +1,5 @@
set(SOURCES
+ DesktopWidget.cpp
DirectoryView.cpp
FileUtils.cpp
main.cpp
diff --git a/Applications/FileManager/DesktopWidget.cpp b/Applications/FileManager/DesktopWidget.cpp
new file mode 100644
index 0000000000..7ea01de9e8
--- /dev/null
+++ b/Applications/FileManager/DesktopWidget.cpp
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2020, Andreas Kling <kling@serenityos.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. 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 HOLDER 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.
+ */
+
+#include "DesktopWidget.h"
+#include <LibGUI/Painter.h>
+
+namespace FileManager {
+
+DesktopWidget::DesktopWidget()
+{
+}
+
+DesktopWidget::~DesktopWidget()
+{
+}
+
+void DesktopWidget::paint_event(GUI::PaintEvent& event)
+{
+ GUI::Painter painter(*this);
+ painter.add_clip_rect(event.rect());
+ painter.clear_rect(event.rect(), Color(0, 0, 0, 0));
+}
+
+}
diff --git a/Applications/FileManager/DesktopWidget.h b/Applications/FileManager/DesktopWidget.h
new file mode 100644
index 0000000000..a6fd5b614b
--- /dev/null
+++ b/Applications/FileManager/DesktopWidget.h
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2020, Andreas Kling <kling@serenityos.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. 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 HOLDER 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.
+ */
+
+#pragma once
+
+#include <LibGUI/Widget.h>
+
+namespace FileManager {
+
+class DesktopWidget final : public GUI::Widget {
+ C_OBJECT(DesktopWidget);
+
+public:
+ virtual ~DesktopWidget() override;
+
+private:
+ virtual void paint_event(GUI::PaintEvent&) override;
+
+ DesktopWidget();
+};
+
+}
diff --git a/Applications/FileManager/main.cpp b/Applications/FileManager/main.cpp
index 2957c4b2fd..3ea266646b 100644
--- a/Applications/FileManager/main.cpp
+++ b/Applications/FileManager/main.cpp
@@ -24,6 +24,7 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+#include "DesktopWidget.h"
#include "DirectoryView.h"
#include "FileUtils.h"
#include "PropertiesDialog.h"
@@ -120,22 +121,6 @@ int main(int argc, char** argv)
return run_in_windowed_mode(move(config), initial_location);
}
-class DesktopWidget final : public GUI::Widget {
- C_OBJECT(DesktopWidget);
-
-private:
- virtual void paint_event(GUI::PaintEvent& event) override
- {
- GUI::Painter painter(*this);
- painter.add_clip_rect(event.rect());
- painter.clear_rect(event.rect(), Color(0, 0, 0, 0));
- }
-
- DesktopWidget()
- {
- }
-};
-
int run_in_desktop_mode(RefPtr<Core::ConfigFile> config)
{
static constexpr const char* process_name = "FileManager (Desktop)";
@@ -148,7 +133,7 @@ int run_in_desktop_mode(RefPtr<Core::ConfigFile> config)
window->set_window_type(GUI::WindowType::Desktop);
window->set_has_alpha_channel(true);
- auto& desktop_widget = window->set_main_widget<DesktopWidget>();
+ auto& desktop_widget = window->set_main_widget<FileManager::DesktopWidget>();
desktop_widget.set_layout<GUI::VerticalBoxLayout>();
auto& directory_view = desktop_widget.add<DirectoryView>(DirectoryView::Mode::Desktop);