hrev48963 adds 2 changesets to branch 'master' old head: bc02619755adf013959bed2708c8b8fbaca4f83c new head: 1aaa0c2142c6c843e93bd1ee8edd4c7ea6256559 overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=1aaa0c2142c6+%5Ebc02619755ad ---------------------------------------------------------------------------- b49e806d3d56: Deskbar: minor style cleanup. 1aaa0c2142c6: Package Kit: FetchFileJob now contains package size. * So that you know how much already was, and still has to be downloaded. * Automatic whitespace cleanup. * The link in FetchFileJob.h did not fetch the correct header under Haiku anymore (since the addition of the private headers to the image). [ Axel Dörfler <axeld@xxxxxxxxxxxxxxxx> ] ---------------------------------------------------------------------------- 16 files changed, 96 insertions(+), 67 deletions(-) headers/build/private/package/FetchFileJob.h | 2 +- headers/private/package/FetchFileJob.h | 15 ++++--- headers/private/package/manager/PackageManager.h | 5 ++- src/apps/deskbar/BarView.cpp | 6 +-- src/apps/deskbar/ExpandoMenuBar.cpp | 10 ++--- src/apps/deskbar/StatusView.cpp | 10 ++--- src/apps/deskbar/StatusView.h | 4 +- src/apps/deskbar/TeamMenu.cpp | 5 +-- src/apps/haikudepot/model/PackageManager.cpp | 42 ++++++++++---------- src/apps/haikudepot/model/PackageManager.h | 4 +- src/bin/pkgman/PackageManager.cpp | 7 ++-- src/bin/pkgman/PackageManager.h | 5 ++- src/kits/package/FetchFileJob.cpp | 35 +++++++++++----- src/kits/package/manager/PackageManager.cpp | 8 ++-- src/servers/package/PackageManager.cpp | 2 +- src/servers/package/PackageManager.h | 3 +- ############################################################################ Commit: b49e806d3d560677f968daf1758d01cd791a1ba8 URL: http://cgit.haiku-os.org/haiku/commit/?id=b49e806d3d56 Author: Axel Dörfler <axeld@xxxxxxxxxxxxxxxx> Date: Mon Mar 30 08:49:33 2015 UTC Deskbar: minor style cleanup. ---------------------------------------------------------------------------- diff --git a/src/apps/deskbar/BarView.cpp b/src/apps/deskbar/BarView.cpp index 019b7fb..3f8fc8d 100644 --- a/src/apps/deskbar/BarView.cpp +++ b/src/apps/deskbar/BarView.cpp @@ -379,7 +379,7 @@ TBarView::PlaceDeskbarMenu() height = fVertical ? kMenuBarHeight : fBarApp->IconSize() + 4; BPoint loc(B_ORIGIN); - float width = sMinimumWindowWidth; + float width = gMinimumWindowWidth; if (fState == kFullState) { fBarMenuBar->RemoveTeamMenu(); @@ -473,7 +473,7 @@ TBarView::PlaceApplicationBar() expandoFrame.top = fTrayLocation != 0 ? fDragRegion->Frame().bottom + 1 : fBarMenuBar->Frame().bottom + 1; expandoFrame.left = fDragRegion->Frame().left; - expandoFrame.right = expandoFrame.left + sMinimumWindowWidth; + expandoFrame.right = expandoFrame.left + gMinimumWindowWidth; expandoFrame.bottom = fState == kFullState ? screenFrame.bottom : expandoFrame.top + 1; } else { @@ -521,7 +521,7 @@ void TBarView::GetPreferredWindowSize(BRect screenFrame, float* width, float* height) { float windowHeight = 0; - float windowWidth = sMinimumWindowWidth; + float windowWidth = gMinimumWindowWidth; bool setToHiddenSize = fBarApp->Settings()->autoHide && IsHidden() && !fDragRegion->IsDragging(); diff --git a/src/apps/deskbar/ExpandoMenuBar.cpp b/src/apps/deskbar/ExpandoMenuBar.cpp index 3ad526c..6936133 100644 --- a/src/apps/deskbar/ExpandoMenuBar.cpp +++ b/src/apps/deskbar/ExpandoMenuBar.cpp @@ -470,7 +470,7 @@ TExpandoMenuBar::BuildItems() else { itemWidth = iconSize; if (!settings->hideLabels) - itemWidth += sMinimumWindowWidth - kMinimumIconSize; + itemWidth += gMinimumWindowWidth - kMinimumIconSize; else itemWidth += kIconPadding * 2; } @@ -620,7 +620,7 @@ TExpandoMenuBar::AddTeam(BList* team, BBitmap* icon, char* name, else { itemWidth = iconSize; if (!settings->hideLabels) - itemWidth += sMinimumWindowWidth - kMinimumIconSize; + itemWidth += gMinimumWindowWidth - kMinimumIconSize; else itemWidth += kIconPadding * 2; } @@ -744,7 +744,7 @@ TExpandoMenuBar::CheckItemSizes(int32 delta) ? iconOnlyWidth + kMinMenuItemWidth : iconOnlyWidth - kIconPadding; float maxItemWidth = drawLabels - ? sMinimumWindowWidth + iconSize - kMinimumIconSize + ? gMinimumWindowWidth + iconSize - kMinimumIconSize : iconOnlyWidth; float menuWidth = maxItemWidth * CountItems() + fDeskbarMenuWidth + kSepItemWidth; @@ -889,11 +889,11 @@ void TExpandoMenuBar::SetMaxItemWidth() { if (fVertical) - SetMaxContentWidth(sMinimumWindowWidth); + SetMaxContentWidth(gMinimumWindowWidth); else { // Make more room for the icon in horizontal mode int32 iconSize = static_cast<TBarApp*>(be_app)->IconSize(); - SetMaxContentWidth(sMinimumWindowWidth + iconSize + SetMaxContentWidth(gMinimumWindowWidth + iconSize - kMinimumIconSize); } } diff --git a/src/apps/deskbar/StatusView.cpp b/src/apps/deskbar/StatusView.cpp index df9cde0..a0139cf 100644 --- a/src/apps/deskbar/StatusView.cpp +++ b/src/apps/deskbar/StatusView.cpp @@ -89,7 +89,7 @@ const char* const kInstantiateEntryCFunctionName = "instantiate_deskbar_entry"; const char* const kReplicantSettingsFile = "replicants"; const char* const kReplicantPathField = "replicant_path"; -float sMinimumWindowWidth = kGutter + kMinimumTrayWidth + kDragRegionWidth; +float gMinimumWindowWidth = kGutter + kMinimumTrayWidth + kDragRegionWidth; static void @@ -142,9 +142,9 @@ TReplicantTray::TReplicantTray(TBarView* parent, bool vertical) const BBitmap* logoBitmap = AppResSet()->FindBitmap(B_MESSAGE_TYPE, R_LeafLogoBitmap); if (logoBitmap != NULL) { - sMinimumWindowWidth = std::max(sMinimumWindowWidth, + gMinimumWindowWidth = std::max(gMinimumWindowWidth, 2 * (logoBitmap->Bounds().Width() + 8)); - fMinimumTrayWidth = sMinimumWindowWidth - kGutter - kDragRegionWidth; + fMinimumTrayWidth = gMinimumWindowWidth - kGutter - kDragRegionWidth; } // Create the time view @@ -1540,8 +1540,8 @@ TDragRegion::MouseMoved(BPoint where, uint32 code, const BMessage* message) BRect frame = screen.Frame(); float hDivider = frame.Width() / 6; - hDivider = (hDivider < sMinimumWindowWidth + 10.0f) - ? sMinimumWindowWidth + 10.0f : hDivider; + hDivider = (hDivider < gMinimumWindowWidth + 10.0f) + ? gMinimumWindowWidth + 10.0f : hDivider; float miniDivider = frame.top + kMiniHeight + 10.0f; float vDivider = frame.Height() / 2; #ifdef FULL_MODE diff --git a/src/apps/deskbar/StatusView.h b/src/apps/deskbar/StatusView.h index a497000..8a7e88d 100644 --- a/src/apps/deskbar/StatusView.h +++ b/src/apps/deskbar/StatusView.h @@ -61,7 +61,7 @@ const float kMinimumTrayWidth = kIconGap + (kMinimumReplicantCount * kMaxReplicantWidth) + kGutter; const float kMinimumTrayHeight = kGutter + kMaxReplicantHeight + kGutter; -extern float sMinimumWindowWidth; +extern float gMinimumWindowWidth; #ifdef DB_ADDONS struct DeskbarItemInfo { @@ -211,7 +211,7 @@ public: int32 DragRegionLocation() const; void SetDragRegionLocation(int32); - + bool IsDragging() {return IsTracking();} private: diff --git a/src/apps/deskbar/TeamMenu.cpp b/src/apps/deskbar/TeamMenu.cpp index 697b8aa..1851d2b 100644 --- a/src/apps/deskbar/TeamMenu.cpp +++ b/src/apps/deskbar/TeamMenu.cpp @@ -85,7 +85,7 @@ TTeamMenu::AttachedToWindow() int32 iconSize = static_cast<TBarApp*>(be_app)->IconSize(); desk_settings* settings = ((TBarApp*)be_app)->Settings(); - float width = sMinimumWindowWidth - iconSize - 4; + float width = gMinimumWindowWidth - iconSize - 4; if (settings->sortRunningApps) teamList.SortItems(CompareByName); @@ -95,8 +95,7 @@ TTeamMenu::AttachedToWindow() // add items back BarTeamInfo* barInfo = (BarTeamInfo*)teamList.ItemAt(i); TTeamMenuItem* item = new TTeamMenuItem(barInfo->teams, - barInfo->icon, barInfo->name, barInfo->sig, - width, -1); + barInfo->icon, barInfo->name, barInfo->sig, width, -1); if (settings->trackerAlwaysFirst && strcasecmp(barInfo->sig, kTrackerSignature) == 0) { ############################################################################ Revision: hrev48963 Commit: 1aaa0c2142c6c843e93bd1ee8edd4c7ea6256559 URL: http://cgit.haiku-os.org/haiku/commit/?id=1aaa0c2142c6 Author: Axel Dörfler <axeld@xxxxxxxxxxxxxxxx> Date: Sat Jan 24 13:26:26 2015 UTC Package Kit: FetchFileJob now contains package size. * So that you know how much already was, and still has to be downloaded. * Automatic whitespace cleanup. * The link in FetchFileJob.h did not fetch the correct header under Haiku anymore (since the addition of the private headers to the image). ---------------------------------------------------------------------------- diff --git a/headers/build/private/package/FetchFileJob.h b/headers/build/private/package/FetchFileJob.h index aad2b1f..e41921b 100644 --- a/headers/build/private/package/FetchFileJob.h +++ b/headers/build/private/package/FetchFileJob.h @@ -1 +1 @@ -#include <../private/package/FetchFileJob.h> +#include <../../../private/package/FetchFileJob.h> diff --git a/headers/private/package/FetchFileJob.h b/headers/private/package/FetchFileJob.h index c62ef11..9d8b52b 100644 --- a/headers/private/package/FetchFileJob.h +++ b/headers/private/package/FetchFileJob.h @@ -1,6 +1,7 @@ /* * Copyright 2011, Oliver Tappe <zooey@xxxxxxxxxxxxxxx> * Copyright 2013, Rene Gollent <rene@xxxxxxxxxxx> + * Copyright 2015, Axel Dörfler <axeld@xxxxxxxxxxxxxxxx> * Distributed under the terms of the MIT License. */ #ifndef _PACKAGE__PRIVATE__FETCH_FILE_JOB_H_ @@ -32,6 +33,8 @@ public: float DownloadProgress() const; const char* DownloadURL() const; const char* DownloadFileName() const; + off_t DownloadBytes() const; + off_t DownloadTotalBytes() const; protected: virtual status_t Execute(); @@ -39,18 +42,20 @@ protected: private: // libcurl callbacks - static int _ProgressCallback(void *clientp, - double dltotal, double dlnow, - double ultotal, double ulnow); + static int _TransferCallback(void* _job, + off_t downloadTotal, off_t downloaded, + off_t uploadTotal, off_t uploaded); - static size_t _WriteCallback(void *buffer, size_t size, - size_t nmemb, void *userp); + static size_t _WriteCallback(void* buffer, size_t size, + size_t nmemb, void* userp); private: BString fFileURL; BEntry fTargetEntry; BFile fTargetFile; float fDownloadProgress; + off_t fBytes; + off_t fTotalBytes; }; diff --git a/headers/private/package/manager/PackageManager.h b/headers/private/package/manager/PackageManager.h index 5bbd945..c280fe4 100644 --- a/headers/private/package/manager/PackageManager.h +++ b/headers/private/package/manager/PackageManager.h @@ -1,5 +1,5 @@ /* - * Copyright 2013-2014, Haiku, Inc. All Rights Reserved. + * Copyright 2013-2015, Haiku, Inc. All Rights Reserved. * Distributed under the terms of the MIT License. * * Authors: @@ -319,7 +319,8 @@ public: const char* packageName); virtual void ProgressPackageDownloadActive( const char* packageName, - float completionPercentage); + float completionPercentage, + off_t bytes, off_t totalBytes); virtual void ProgressPackageDownloadComplete( const char* packageName); virtual void ProgressPackageChecksumStarted( diff --git a/src/apps/haikudepot/model/PackageManager.cpp b/src/apps/haikudepot/model/PackageManager.cpp index 8190d6e..e2f9e3b 100644 --- a/src/apps/haikudepot/model/PackageManager.cpp +++ b/src/apps/haikudepot/model/PackageManager.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2013-2014, Haiku, Inc. All Rights Reserved. + * Copyright 2013-2015, Haiku, Inc. All Rights Reserved. * Distributed under the terms of the MIT License. * * Authors: @@ -313,14 +313,14 @@ struct DeskbarLink { link(link) { } - + DeskbarLink(const DeskbarLink& other) : path(other.path), link(other.link) { } - + DeskbarLink& operator=(const DeskbarLink& other) { if (this == &other) @@ -329,17 +329,17 @@ struct DeskbarLink { link = other.link; return *this; } - + bool operator==(const DeskbarLink& other) { return path == other.path && link == other.link; } - + bool operator!=(const DeskbarLink& other) { return !(*this == other); } - + BString path; BString link; }; @@ -367,24 +367,24 @@ public: } return B_OK; } - + virtual status_t HandleEntryAttribute(BPackageEntry* entry, BPackageEntryAttribute* attribute) { return B_OK; } - + virtual status_t HandleEntryDone(BPackageEntry* entry) { return B_OK; } - + virtual status_t HandlePackageAttribute( const BPackageInfoAttributeValue& value) { return B_OK; } - + virtual void HandleErrorOccurred() { } @@ -419,7 +419,7 @@ public: int32 lastPathSeparator = target.FindLast('/'); if (lastPathSeparator > 0 && lastPathSeparator + 1 < target.Length()) target.Remove(0, lastPathSeparator + 1); - + fLabel.ReplaceAll("%DeskbarLink%", target); } @@ -448,7 +448,7 @@ public: } else { return B_ERROR; } - + status = path.Append(fDeskbarLink.path); if (status == B_OK) status = path.GetParent(&path); @@ -457,14 +457,14 @@ public: printf("trying to launch: %s\n", path.Path()); } } - + entry_ref ref; if (status == B_OK) status = get_ref_for_path(path.Path(), &ref); - + if (status == B_OK) status = be_roster->Launch(&ref); - + return status; } @@ -494,7 +494,7 @@ public: } packagePath.Append(package->FileName()); - + BNoErrorOutput errorOutput; BPackageReader reader(&errorOutput); @@ -505,7 +505,7 @@ public: packagePath.Path(), strerror(status)); return false; } - + // Scan package contents for Deskbar links DeskbarLinkFinder contentHandler(foundLinks); status = reader.ParseContent(&contentHandler); @@ -515,7 +515,7 @@ public: packagePath.Path(), strerror(status)); return false; } - + return foundLinks.CountItems() > 0; } @@ -567,7 +567,7 @@ PackageManager::GetPackageActions(PackageInfoRef package, Model* model) if (state == ACTIVATED || state == INSTALLED) { actionList.Add(PackageActionRef(new UninstallPackageAction( package, model), true)); - + // Add OpenPackageActions for each deskbar link found in the // package DeskbarLinkList foundLinks; @@ -721,13 +721,13 @@ PackageManager::Warn(status_t error, const char* format, ...) void PackageManager::ProgressPackageDownloadStarted(const char* packageName) { - ProgressPackageDownloadActive(packageName, 0.0f); + ProgressPackageDownloadActive(packageName, 0.0f, 0, 0); } void PackageManager::ProgressPackageDownloadActive(const char* packageName, - float completionPercentage) + float completionPercentage, off_t bytes, off_t totalBytes) { for (int32 i = 0; i < fPackageProgressListeners.CountItems(); i++) { fPackageProgressListeners.ItemAt(i)->DownloadProgressChanged( diff --git a/src/apps/haikudepot/model/PackageManager.h b/src/apps/haikudepot/model/PackageManager.h index f56a071..c5cb0b3 100644 --- a/src/apps/haikudepot/model/PackageManager.h +++ b/src/apps/haikudepot/model/PackageManager.h @@ -96,7 +96,9 @@ private: const char* packageName); virtual void ProgressPackageDownloadActive( const char* packageName, - float completionPercentage); + float completionPercentage, + off_t bytes, off_t totalBytes); + virtual void ProgressPackageDownloadComplete( const char* packageName); virtual void ProgressPackageChecksumStarted( diff --git a/src/bin/pkgman/PackageManager.cpp b/src/bin/pkgman/PackageManager.cpp index d4d9cf2..f8fd1ea 100644 --- a/src/bin/pkgman/PackageManager.cpp +++ b/src/bin/pkgman/PackageManager.cpp @@ -1,10 +1,11 @@ /* - * Copyright 2013-2014, Haiku, Inc. All Rights Reserved. + * Copyright 2013-2015, Haiku, Inc. All Rights Reserved. * Distributed under the terms of the MIT License. * * Authors: - * Ingo Weinhold <ingo_weinhold@xxxxxx> + * Axel Dörfler <axeld@xxxxxxxxxxxxxxxx> * Rene Gollent <rene@xxxxxxxxxxx> + * Ingo Weinhold <ingo_weinhold@xxxxxx> */ @@ -179,7 +180,7 @@ PackageManager::ProgressPackageDownloadStarted(const char* packageName) void PackageManager::ProgressPackageDownloadActive(const char* packageName, - float completionPercentage) + float completionPercentage, off_t bytes, off_t totalBytes) { if (!fInteractive) return; diff --git a/src/bin/pkgman/PackageManager.h b/src/bin/pkgman/PackageManager.h index eb64aa4..475947b 100644 --- a/src/bin/pkgman/PackageManager.h +++ b/src/bin/pkgman/PackageManager.h @@ -1,5 +1,5 @@ /* - * Copyright 2013-2014, Haiku, Inc. All Rights Reserved. + * Copyright 2013-2015, Haiku, Inc. All Rights Reserved. * Distributed under the terms of the MIT License. * * Authors: @@ -46,7 +46,8 @@ private: const char* packageName); virtual void ProgressPackageDownloadActive( const char* packageName, - float completionPercentage); + float completionPercentage, + off_t bytes, off_t totalBytes); virtual void ProgressPackageDownloadComplete( const char* packageName); virtual void ProgressPackageChecksumStarted( diff --git a/src/kits/package/FetchFileJob.cpp b/src/kits/package/FetchFileJob.cpp index 4a4959a..ff1bad4 100644 --- a/src/kits/package/FetchFileJob.cpp +++ b/src/kits/package/FetchFileJob.cpp @@ -1,10 +1,11 @@ /* - * Copyright 2011-2013, Haiku, Inc. All Rights Reserved. + * Copyright 2011-2015, Haiku, Inc. All Rights Reserved. * Distributed under the terms of the MIT License. * * Authors: - * Oliver Tappe <zooey@xxxxxxxxxxxxxxx> + * Axel Dörfler <axeld@xxxxxxxxxxxxxxxx> * Rene Gollent <rene@xxxxxxxxxxx> + * Oliver Tappe <zooey@xxxxxxxxxxxxxxx> */ @@ -62,6 +63,20 @@ FetchFileJob::DownloadFileName() const } +off_t +FetchFileJob::DownloadBytes() const +{ + return fBytes; +} + + +off_t +FetchFileJob::DownloadTotalBytes() const +{ + return fTotalBytes; +} + + status_t FetchFileJob::Execute() { @@ -77,8 +92,8 @@ FetchFileJob::Execute() result = curl_easy_setopt(handle, CURLOPT_NOPROGRESS, 0); - result = curl_easy_setopt(handle, CURLOPT_PROGRESSFUNCTION, - &_ProgressCallback); + result = curl_easy_setopt(handle, CURLOPT_XFERINFOFUNCTION, + &_TransferCallback); if (result != CURLE_OK) return B_BAD_VALUE; @@ -117,12 +132,14 @@ FetchFileJob::Execute() int -FetchFileJob::_ProgressCallback(void *userp, double dltotal, double dlnow, - double ultotal, double ulnow) +FetchFileJob::_TransferCallback(void* _job, off_t downloadTotal, + off_t downloaded, off_t uploadTotal, off_t uploaded) { - FetchFileJob* job = reinterpret_cast<FetchFileJob*>(userp); - if (dltotal != 0) { - job->fDownloadProgress = dlnow / dltotal; + FetchFileJob* job = reinterpret_cast<FetchFileJob*>(_job); + if (downloadTotal != 0) { + job->fBytes = downloaded; + job->fTotalBytes = downloadTotal; + job->fDownloadProgress = downloaded / downloadTotal; job->NotifyStateListeners(); } return 0; diff --git a/src/kits/package/manager/PackageManager.cpp b/src/kits/package/manager/PackageManager.cpp index 0deae53..37d2339 100644 --- a/src/kits/package/manager/PackageManager.cpp +++ b/src/kits/package/manager/PackageManager.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2013-2014, Haiku, Inc. All Rights Reserved. + * Copyright 2013-2015, Haiku, Inc. All Rights Reserved. * Distributed under the terms of the MIT License. * * Authors: @@ -383,7 +383,8 @@ BPackageManager::JobProgress(BJob* job) if (dynamic_cast<FetchFileJob*>(job) != NULL) { FetchFileJob* fetchJob = (FetchFileJob*)job; fUserInteractionHandler->ProgressPackageDownloadActive( - fetchJob->DownloadFileName(), fetchJob->DownloadProgress()); + fetchJob->DownloadFileName(), fetchJob->DownloadProgress(), + fetchJob->DownloadBytes(), fetchJob->DownloadTotalBytes()); } } @@ -1105,7 +1106,8 @@ BPackageManager::UserInteractionHandler::ProgressPackageDownloadStarted( void BPackageManager::UserInteractionHandler::ProgressPackageDownloadActive( - const char* packageName, float completionPercentage) + const char* packageName, float completionPercentage, off_t bytes, + off_t totalBytes) { } diff --git a/src/servers/package/PackageManager.cpp b/src/servers/package/PackageManager.cpp index 2c1eb85..8799aa2 100644 --- a/src/servers/package/PackageManager.cpp +++ b/src/servers/package/PackageManager.cpp @@ -320,7 +320,7 @@ PackageManager::ProgressPackageDownloadStarted(const char* packageName) void PackageManager::ProgressPackageDownloadActive(const char* packageName, - float completionPercentage) + float completionPercentage, off_t bytes, off_t totalBytes) { } diff --git a/src/servers/package/PackageManager.h b/src/servers/package/PackageManager.h index 95106fb..56f3a44 100644 --- a/src/servers/package/PackageManager.h +++ b/src/servers/package/PackageManager.h @@ -65,7 +65,8 @@ private: const char* packageName); virtual void ProgressPackageDownloadActive( const char* packageName, - float completionPercentage); + float completionPercentage, + off_t bytes, off_t totalBytes); virtual void ProgressPackageDownloadComplete( const char* packageName); virtual void ProgressPackageChecksumStarted(