hrev50134 adds 2 changesets to branch 'master'
old head: f2df0cfe93a902842f6f4629ff614f5b3f9bf687
new head: d3626243b02c6f1033ef005c3ac77aa30d1cb136
overview:
http://cgit.haiku-os.org/haiku/log/?qt=range&q=d3626243b02c+%5Ef2df0cfe93a9
----------------------------------------------------------------------------
eaf0a567c505: PackageInstaller: Merge "InstalledPackages" and
"PackageInstaller".
Now if you start LegacyPackageInstaller with no filenames passed, you get
the "installed packages" window, from which you can uninstall stuff.
Fixes #10612.
d3626243b02c: PackageInstaller: Fix layout in UninstallView, use BLayoutBuilder.
[ Augustin Cavalier <waddlesplash@xxxxxxxxx> ]
----------------------------------------------------------------------------
12 files changed, 108 insertions(+), 138 deletions(-)
src/apps/Jamfile | 1 -
src/apps/installedpackages/Jamfile | 24 --------
src/apps/installedpackages/main.cpp | 60 ------------------
src/apps/packageinstaller/Jamfile | 4 ++
src/apps/packageinstaller/PackageWindow.cpp | 1 +
src/apps/packageinstaller/PackageWindow.h | 4 +-
.../UninstallView.cpp | 65 +++++++++++++-------
.../UninstallView.h | 6 +-
.../UninstallWindow.cpp | 10 ++-
.../UninstallWindow.h | 1 +
src/apps/packageinstaller/main.cpp | 34 +++-------
src/apps/packageinstaller/main.h | 36 +++++++++++
############################################################################
Commit: eaf0a567c505aba31863365fbfa0cf4fe4c18e77
URL: http://cgit.haiku-os.org/haiku/commit/?id=eaf0a567c505
Author: Augustin Cavalier <waddlesplash@xxxxxxxxx>
Date: Mon Mar 7 20:08:58 2016 UTC
Ticket: https://dev.haiku-os.org/ticket/10612
PackageInstaller: Merge "InstalledPackages" and "PackageInstaller".
Now if you start LegacyPackageInstaller with no filenames passed, you get
the "installed packages" window, from which you can uninstall stuff.
Fixes #10612.
----------------------------------------------------------------------------
diff --git a/src/apps/Jamfile b/src/apps/Jamfile
index e9366de..6ea32f4 100644
--- a/src/apps/Jamfile
+++ b/src/apps/Jamfile
@@ -25,7 +25,6 @@ HaikuSubInclude gradients ;
HaikuSubInclude haiku3d ;
HaikuSubInclude haikudepot ;
HaikuSubInclude icon-o-matic ;
-HaikuSubInclude installedpackages ;
HaikuSubInclude installer ;
HaikuSubInclude launchbox ;
HaikuSubInclude login ;
diff --git a/src/apps/installedpackages/Jamfile
b/src/apps/installedpackages/Jamfile
deleted file mode 100644
index 10c1bfb..0000000
--- a/src/apps/installedpackages/Jamfile
+++ /dev/null
@@ -1,24 +0,0 @@
-SubDir HAIKU_TOP src apps installedpackages ;
-
-UsePrivateHeaders shared interface ;
-SubDirHdrs $(HAIKU_TOP) src apps packageinstaller ;
-
-SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits interface ] ;
-SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src apps packageinstaller ] ;
-
-Application InstalledPackages :
- InstalledPackageInfo.cpp
- main.cpp
- UninstallWindow.cpp
- UninstallView.cpp
- : be tracker translation [ TargetLibsupc++ ] localestub
-;
-
-DoCatalogs InstalledPackages :
- x-vnd.Haiku-InstalledPackages
- :
- main.cpp
- UninstallView.cpp
- UninstallWindow.cpp
-;
-
diff --git a/src/apps/installedpackages/main.cpp
b/src/apps/installedpackages/main.cpp
deleted file mode 100644
index e1c851f..0000000
--- a/src/apps/installedpackages/main.cpp
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (c) 2007-2010, Haiku, Inc.
- * Distributed under the terms of the MIT license.
- *
- * Author:
- * Łukasz 'Sil2100' Zemczak <sil2100@xxxxxxxxxxxxx>
- */
-
-
-#include "UninstallWindow.h"
-
-#include <Alert.h>
-#include <Application.h>
-#include <Autolock.h>
-#include <Catalog.h>
-#include <Entry.h>
-#include <Locale.h>
-#include <List.h>
-#include <TextView.h>
-
-#include <stdio.h>
-
-
-#undef B_TRANSLATION_CONTEXT
-#define B_TRANSLATION_CONTEXT "UninstallApplication"
-
-
-class UninstallApplication : public BApplication {
-public:
- UninstallApplication();
- ~UninstallApplication();
-
-private:
- UninstallWindow* fWindow;
-};
-
-
-UninstallApplication::UninstallApplication()
- :
- BApplication("application/x-vnd.Haiku-InstalledPackages"),
- fWindow(NULL)
-{
- fWindow = new UninstallWindow();
- fWindow->Show();
-}
-
-
-UninstallApplication::~UninstallApplication()
-{
-}
-
-
-int
-main()
-{
- UninstallApplication app;
- app.Run();
- return 0;
-}
-
diff --git a/src/apps/packageinstaller/Jamfile
b/src/apps/packageinstaller/Jamfile
index 97e5427..e5410d6 100644
--- a/src/apps/packageinstaller/Jamfile
+++ b/src/apps/packageinstaller/Jamfile
@@ -20,6 +20,8 @@ Application LegacyPackageInstaller :
PackageTextViewer.cpp
PackageImageViewer.cpp
InstalledPackageInfo.cpp
+ UninstallWindow.cpp
+ UninstallView.cpp
: be localestub tracker translation
[ BuildFeatureAttribute zlib : library ]
[ TargetLibsupc++ ]
@@ -38,4 +40,6 @@ DoCatalogs LegacyPackageInstaller :
PackageTextViewer.cpp
PackageView.cpp
PackageWindow.cpp
+ UninstallWindow.cpp
+ UninstallView.cpp
;
diff --git a/src/apps/packageinstaller/PackageWindow.cpp
b/src/apps/packageinstaller/PackageWindow.cpp
index 4fa7b49..f73f8780 100644
--- a/src/apps/packageinstaller/PackageWindow.cpp
+++ b/src/apps/packageinstaller/PackageWindow.cpp
@@ -15,6 +15,7 @@
#include <LayoutBuilder.h>
#include "PackageView.h"
+#include "main.h"
#undef B_TRANSLATION_CONTEXT
diff --git a/src/apps/packageinstaller/PackageWindow.h
b/src/apps/packageinstaller/PackageWindow.h
index 6d6a3bd..fa94854 100644
--- a/src/apps/packageinstaller/PackageWindow.h
+++ b/src/apps/packageinstaller/PackageWindow.h
@@ -14,14 +14,12 @@
struct entry_ref;
-const uint32 P_WINDOW_QUIT = 'PiWq';
-
class PackageWindow : public BWindow {
public:
PackageWindow(const entry_ref* ref);
virtual ~PackageWindow();
-
+
virtual void Quit();
};
diff --git a/src/apps/installedpackages/UninstallView.cpp
b/src/apps/packageinstaller/UninstallView.cpp
similarity index 92%
rename from src/apps/installedpackages/UninstallView.cpp
rename to src/apps/packageinstaller/UninstallView.cpp
index a6c6e6d..3b00f0bef 100644
--- a/src/apps/installedpackages/UninstallView.cpp
+++ b/src/apps/packageinstaller/UninstallView.cpp
@@ -20,6 +20,7 @@
#include <Directory.h>
#include <Entry.h>
#include <File.h>
+#include <FilePanel.h>
#include <FindDirectory.h>
#include <GroupLayout.h>
#include <GroupLayoutBuilder.h>
@@ -33,12 +34,15 @@
#include <SpaceLayoutItem.h>
#include <TextView.h>
+#include "main.h"
+
#undef B_TRANSLATION_CONTEXT
#define B_TRANSLATION_CONTEXT "UninstallView"
enum {
+ P_MSG_INSTALL = 'umin',
P_MSG_REMOVE = 'umrm',
P_MSG_SELECT
};
@@ -80,7 +84,8 @@ private:
UninstallView::UninstallView()
:
- BGroupView(B_VERTICAL)
+ BGroupView(B_VERTICAL),
+ fOpenPanel(new BFilePanel(B_OPEN_PANEL))
{
fNoPackageSelectedString = B_TRANSLATE("No package selected.");
_InitView();
@@ -98,7 +103,8 @@ void
UninstallView::AttachedToWindow()
{
fAppList->SetTarget(this);
- fButton->SetTarget(this);
+ fInstallButton->SetTarget(this);
+ fRemoveButton->SetTarget(this);
_ReloadAppList();
@@ -205,7 +211,7 @@ UninstallView::MessageReceived(BMessage* msg)
}
case P_MSG_SELECT:
{
- fButton->SetEnabled(false);
+ fRemoveButton->SetEnabled(false);
fDescription->SetText(fNoPackageSelectedString);
int32 index = fAppList->CurrentSelection();
@@ -225,10 +231,15 @@ UninstallView::MessageReceived(BMessage* msg)
item->GetVersion()) != B_OK)
break;
- fButton->SetEnabled(true);
+ fRemoveButton->SetEnabled(true);
fDescription->SetText(fCurrentSelection.Description());
break;
}
+ case P_MSG_INSTALL:
+ {
+ fOpenPanel->Show();
+ break;
+ }
case P_MSG_REMOVE:
{
if (fCurrentSelection.InitCheck() != B_OK)
@@ -259,6 +270,7 @@ UninstallView::MessageReceived(BMessage* msg)
}
notify->SetFlags(notify->Flags() | B_CLOSE_ON_ESCAPE);
notify->Go();
+ break;
}
default:
BView::MessageReceived(msg);
@@ -268,6 +280,13 @@ UninstallView::MessageReceived(BMessage* msg)
void
+UninstallView::RefsReceived(BMessage* message)
+{
+ static_cast<PackageInstaller*>(be_app)->RefsReceived(message);
+}
+
+
+void
UninstallView::_InitView()
{
SetViewUIColor(B_PANEL_BACKGROUND_COLOR);
@@ -287,9 +306,11 @@ UninstallView::_InitView()
fDescription->SetViewUIColor(B_PANEL_BACKGROUND_COLOR);
fDescription->SetText(fNoPackageSelectedString);
- fButton = new BButton("removal", B_TRANSLATE("Remove"),
+ fInstallButton = new BButton("install", B_TRANSLATE("Install"
B_UTF8_ELLIPSIS),
+ new BMessage(P_MSG_INSTALL));
+ fRemoveButton = new BButton("removal", B_TRANSLATE("Remove"),
new BMessage(P_MSG_REMOVE));
- fButton->SetEnabled(false);
+ fRemoveButton->SetEnabled(false);
const float spacing = be_control_look->DefaultItemSpacing();
@@ -310,7 +331,8 @@ UninstallView::_InitView()
.Add(new BSeparatorView(B_HORIZONTAL, B_PLAIN_BORDER))
.Add(BGroupLayoutBuilder(B_HORIZONTAL)
.AddGlue()
- .Add(fButton)
+ .Add(fInstallButton)
+ .Add(fRemoveButton)
.SetInsets(spacing, spacing, spacing, spacing)
)
;
diff --git a/src/apps/installedpackages/UninstallView.h
b/src/apps/packageinstaller/UninstallView.h
similarity index 87%
rename from src/apps/installedpackages/UninstallView.h
rename to src/apps/packageinstaller/UninstallView.h
index be81699..1c1fd56 100644
--- a/src/apps/installedpackages/UninstallView.h
+++ b/src/apps/packageinstaller/UninstallView.h
@@ -18,6 +18,7 @@ class BButton;
class BListView;
class BTextView;
class BScrollView;
+class BFilePanel;
class UninstallView : public BGroupView {
@@ -27,6 +28,7 @@ public:
virtual void AttachedToWindow();
virtual void MessageReceived(BMessage*
message);
+ virtual void RefsReceived(BMessage* message);
private:
void _InitView();
@@ -42,7 +44,9 @@ private:
BPath fToPackages;
BListView* fAppList;
BTextView* fDescription;
- BButton* fButton;
+ BButton* fInstallButton;
+ BFilePanel* fOpenPanel;
+ BButton* fRemoveButton;
BScrollView* fDescScroll;
InstalledPackageInfo fCurrentSelection;
bool fWatcherRunning;
diff --git a/src/apps/installedpackages/UninstallWindow.cpp
b/src/apps/packageinstaller/UninstallWindow.cpp
similarity index 78%
rename from src/apps/installedpackages/UninstallWindow.cpp
rename to src/apps/packageinstaller/UninstallWindow.cpp
index bb1f14a..7608be6 100644
--- a/src/apps/installedpackages/UninstallWindow.cpp
+++ b/src/apps/packageinstaller/UninstallWindow.cpp
@@ -13,6 +13,7 @@
#include <GroupLayout.h>
#include <Locale.h>
+#include "main.h"
#undef B_TRANSLATION_CONTEXT
#define B_TRANSLATION_CONTEXT "UninstallWindow"
@@ -21,10 +22,17 @@
UninstallWindow::UninstallWindow()
:
BWindow(BRect(100, 100, 600, 300),
- B_TRANSLATE_SYSTEM_NAME("InstalledPackages"), B_TITLED_WINDOW,
+ B_TRANSLATE("Installed packages"), B_TITLED_WINDOW,
B_NOT_ZOOMABLE | B_QUIT_ON_WINDOW_CLOSE |
B_AUTO_UPDATE_SIZE_LIMITS)
{
SetLayout(new BGroupLayout(B_HORIZONTAL));
AddChild(new UninstallView());
}
+
+void
+UninstallWindow::Quit()
+{
+ be_app->PostMessage(P_WINDOW_QUIT);
+ BWindow::Quit();
+}
diff --git a/src/apps/installedpackages/UninstallWindow.h
b/src/apps/packageinstaller/UninstallWindow.h
similarity index 93%
rename from src/apps/installedpackages/UninstallWindow.h
rename to src/apps/packageinstaller/UninstallWindow.h
index 6f47a76..b5f0bf3 100644
--- a/src/apps/installedpackages/UninstallWindow.h
+++ b/src/apps/packageinstaller/UninstallWindow.h
@@ -16,6 +16,7 @@
class UninstallWindow : public BWindow {
public:
UninstallWindow();
+ virtual void Quit();
};
#endif // UNINSTALLWINDOW_H
diff --git a/src/apps/packageinstaller/main.cpp
b/src/apps/packageinstaller/main.cpp
index 4bafeb8..2cc83cd 100644
--- a/src/apps/packageinstaller/main.cpp
+++ b/src/apps/packageinstaller/main.cpp
@@ -6,15 +6,16 @@
* Łukasz 'Sil2100' Zemczak <sil2100@xxxxxxxxxxxxx>
*/
+#include "main.h"
#include "PackageWindow.h"
+#include "UninstallWindow.h"
#include <Alert.h>
#include <Application.h>
#include <Autolock.h>
#include <Catalog.h>
#include <Entry.h>
-#include <FilePanel.h>
#include <List.h>
#include <Locale.h>
#include <Path.h>
@@ -30,30 +31,9 @@
bool gVerbose = false;
-class PackageInstaller : public BApplication {
-public:
-
PackageInstaller();
- virtual ~PackageInstaller();
-
- virtual void RefsReceived(BMessage* message);
- virtual void ArgvReceived(int32 argc, char**
argv);
- virtual void ReadyToRun();
-
- virtual void MessageReceived(BMessage*
message);
-
-private:
- void _NewWindow(const
entry_ref* ref);
-
-private:
- BFilePanel* fOpenPanel;
- uint32 fWindowCount;
-};
-
-
PackageInstaller::PackageInstaller()
:
BApplication("application/x-vnd.Haiku-PackageInstaller"),
- fOpenPanel(new BFilePanel(B_OPEN_PANEL)),
fWindowCount(0)
{
}
@@ -68,9 +48,11 @@ void
PackageInstaller::ReadyToRun()
{
// We're ready to run - if no windows are yet visible, this means that
- // we should show a open panel
- if (fWindowCount == 0)
- fOpenPanel->Show();
+ // we should show the UninstallWindow
+ if (fWindowCount == 0) {
+ (new UninstallWindow)->Show();
+ fWindowCount++;
+ }
}
@@ -91,7 +73,7 @@ PackageInstaller::ArgvReceived(int32 argc, char** argv)
gVerbose = true;
continue;
}
-
+
BPath path;
if (path.SetTo(argv[i]) != B_OK) {
fprintf(stderr, B_TRANSLATE("Error! \"%s\" is not a
valid path.\n"),
diff --git a/src/apps/packageinstaller/main.h b/src/apps/packageinstaller/main.h
new file mode 100644
index 0000000..53fb162
--- /dev/null
+++ b/src/apps/packageinstaller/main.h
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2007-2009, Haiku, Inc. All rights reserved.
+ * Distributed under the terms of the MIT license.
+ *
+ * Author:
+ * Łukasz 'Sil2100' Zemczak <sil2100@xxxxxxxxxxxxx>
+ */
+#ifndef PACKAGEINSTALLER_MAIN_H
+#define PACKAGEINSTALLER_MAIN_H
+
+#include <Application.h>
+
+
+const uint32 P_WINDOW_QUIT = 'PiWq';
+
+
+
+class PackageInstaller : public BApplication {
+public:
+
PackageInstaller();
+ virtual ~PackageInstaller();
+
+ virtual void RefsReceived(BMessage* message);
+ virtual void ArgvReceived(int32 argc, char**
argv);
+ virtual void ReadyToRun();
+
+ virtual void MessageReceived(BMessage*
message);
+
+private:
+ void _NewWindow(const
entry_ref* ref);
+
+private:
+ uint32 fWindowCount;
+};
+
+#endif // PACKAGEINSTALLER_MAIN_H
############################################################################
Revision: hrev50134
Commit: d3626243b02c6f1033ef005c3ac77aa30d1cb136
URL: http://cgit.haiku-os.org/haiku/commit/?id=d3626243b02c
Author: Augustin Cavalier <waddlesplash@xxxxxxxxx>
Date: Mon Mar 7 20:16:08 2016 UTC
PackageInstaller: Fix layout in UninstallView, use BLayoutBuilder.
----------------------------------------------------------------------------
diff --git a/src/apps/packageinstaller/UninstallView.cpp
b/src/apps/packageinstaller/UninstallView.cpp
index 3b00f0bef..fed2719 100644
--- a/src/apps/packageinstaller/UninstallView.cpp
+++ b/src/apps/packageinstaller/UninstallView.cpp
@@ -22,8 +22,7 @@
#include <File.h>
#include <FilePanel.h>
#include <FindDirectory.h>
-#include <GroupLayout.h>
-#include <GroupLayoutBuilder.h>
+#include <LayoutBuilder.h>
#include <ListView.h>
#include <Locale.h>
#include <NodeMonitor.h>
@@ -314,28 +313,28 @@ UninstallView::_InitView()
const float spacing = be_control_look->DefaultItemSpacing();
- BGroupLayoutBuilder builder(GroupLayout());
- builder.Add(scrollView)
+ BLayoutBuilder::Group<>(this, B_VERTICAL, 0)
+ .Add(scrollView, 10)
.Add(new BSeparatorView(B_HORIZONTAL, B_PLAIN_BORDER))
- .Add(BGroupLayoutBuilder(B_VERTICAL)
- .Add(BGroupLayoutBuilder(B_HORIZONTAL, 0)
+ .AddGroup(B_VERTICAL)
+ .SetInsets(spacing)
+ .AddGroup(B_HORIZONTAL, 0)
.Add(descriptionLabel)
.AddGlue()
- )
- .Add(BGroupLayoutBuilder(B_HORIZONTAL, 0)
+ .End()
+ .AddGroup(B_HORIZONTAL, 0)
.Add(BSpaceLayoutItem::CreateHorizontalStrut(10))
.Add(fDescription)
- )
- .SetInsets(spacing, spacing, spacing, spacing)
- )
+ .End()
+ .End()
.Add(new BSeparatorView(B_HORIZONTAL, B_PLAIN_BORDER))
- .Add(BGroupLayoutBuilder(B_HORIZONTAL)
+ .AddGroup(B_HORIZONTAL)
+ .SetInsets(spacing)
.AddGlue()
.Add(fInstallButton)
.Add(fRemoveButton)
- .SetInsets(spacing, spacing, spacing, spacing)
- )
- ;
+ .End()
+ .End();
}