diff --git a/src/apps/haiku-depot/Jamfile b/src/apps/haiku-depot/Jamfile index f788c3eb86..3b8e2d0e86 100644 --- a/src/apps/haiku-depot/Jamfile +++ b/src/apps/haiku-depot/Jamfile @@ -1,13 +1,17 @@ SubDir HAIKU_TOP src apps haiku-depot ; -UsePrivateHeaders shared ; +UsePrivateHeaders interface shared ; Application HaikuDepot : App.cpp + FilterView.cpp main.cpp MainWindow.cpp + PackageActionsView.cpp + PackageListView.cpp support.cpp - : be translation libshared.a $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) + : be translation libcolumnlistview.a libshared.a $(TARGET_LIBSUPC++) + $(HAIKU_LOCALE_LIBS) : HaikuDepot.rdef ; @@ -15,5 +19,8 @@ DoCatalogs HaikuDepot : x-vnd.Haiku-HaikuDepot : App.cpp + FilterView.cpp MainWindow.cpp + PackageActionsView.cpp + PackageListView.cpp ; diff --git a/src/apps/haiku-depot/MainWindow.cpp b/src/apps/haiku-depot/MainWindow.cpp index 73f106c14e..e25bbc7fac 100644 --- a/src/apps/haiku-depot/MainWindow.cpp +++ b/src/apps/haiku-depot/MainWindow.cpp @@ -12,21 +12,56 @@ #include #include #include -#include +#include #include #include #include #include +#include "FilterView.h" +#include "PackageActionsView.h" +#include "PackageListView.h" + + #undef B_TRANSLATION_CONTEXT #define B_TRANSLATION_CONTEXT "MainWindow" + MainWindow::MainWindow(BRect frame) : BWindow(frame, B_TRANSLATE_SYSTEM_NAME("HaikuDepot"), B_TITLED_WINDOW_LOOK, B_NORMAL_WINDOW_FEEL, B_ASYNCHRONOUS_CONTROLS | B_AUTO_UPDATE_SIZE_LIMITS) { + BMenuBar* mainMenu = new BMenuBar(B_TRANSLATE("Main Menu")); + BMenu* menu = new BMenu(B_TRANSLATE("Package")); + mainMenu->AddItem(menu); + + FilterView* filterView = new FilterView(); + + PackageListView* packageListView = new PackageListView(); + + PackageActionsView* packageActionsView = new PackageActionsView(); + + BSplitView* splitView = new BSplitView(B_VERTICAL, B_USE_SMALL_SPACING); + + BLayoutBuilder::Group<>(this, B_VERTICAL, 0.0f) + .Add(mainMenu) + .Add(filterView) + .AddGroup(B_VERTICAL) + .AddSplit(splitView) + .AddGroup(B_VERTICAL) + .Add(packageListView) + .Add(packageActionsView) + .End() + .Add(new BGroupView) + .End() + .SetInsets(B_USE_DEFAULT_SPACING, 0.0f, B_USE_DEFAULT_SPACING, + B_USE_DEFAULT_SPACING) + .End() + ; + + splitView->SetCollapsible(0, false); }