From 9ed8d5643629610df3df7b396f608940359601ee Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Thu, 7 May 2020 20:17:45 +1000
Subject: Fix drawing string issues


diff --git a/Source/Beezer/BeezerStringView.cpp b/Source/Beezer/BeezerStringView.cpp
index 34a4697..821fc98 100644
--- a/Source/Beezer/BeezerStringView.cpp
+++ b/Source/Beezer/BeezerStringView.cpp
@@ -93,25 +93,11 @@ void BeezerStringView::RenderView(bool firstTime)
 
     BRect bounds(m_backView->Bounds());
     m_backView->SetDrawingMode(B_OP_COPY);
+    m_backView->SetHighColor(m_backView->ViewColor());
+    m_backView->FillRect(bounds);
 
-    if (firstTime == true)
-    {
-        // Fill up the background and draw the borders -- i.e. complete redraw
-        SetViewColor(B_TRANSPARENT_COLOR);
-        m_backView->SetHighColor(m_backView->ViewColor());
-        m_backView->FillRect(bounds);
-    }
-
-    // Erase old text using backcolor
+    // Write text
     m_backView->SetFont(&m_font, B_FONT_ALL);
-    if (m_oldText != NULL && firstTime == false)    // firstTime check is CRITICAL (bugfix)
-    {
-        m_backView->MovePenTo(3, bounds.bottom - 3);
-        m_backView->SetHighColor(m_backView->ViewColor());
-        m_backView->DrawString(m_oldText);
-    }
-
-    // Write new text
     m_backView->MovePenTo(3, bounds.bottom - 3);
     m_backView->SetHighColor(m_foreground);
     m_backView->DrawString(m_text);
-- 
2.28.0


From deede3ae5bdad325ee2999d415fb2cbf7964b410 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Thu, 7 May 2020 20:24:49 +1000
Subject: Hide string views when infobar folded


diff --git a/Source/Beezer/InfoBar.cpp b/Source/Beezer/InfoBar.cpp
index 48ecdd8..90a7fd8 100644
--- a/Source/Beezer/InfoBar.cpp
+++ b/Source/Beezer/InfoBar.cpp
@@ -232,6 +232,8 @@ void InfoBar::Toggle()
     if (!m_isHidden)
     {
         m_barberPole->Hide();
+        m_filesStr->Hide();
+        m_bytesStr->Hide();
 
         for (int32 i = 0L; i < separatorCount; i++)
             ((BView*)m_separatorList.ItemAtFast(i))->Hide();
@@ -242,6 +244,8 @@ void InfoBar::Toggle()
     {
         if (m_barberPole->IsAnimating())
             m_barberPole->Show();
+            m_filesStr->Show();
+            m_bytesStr->Show();
 
         for (int32 i = 0L; i < separatorCount; i++)
             ((BView*)m_separatorList.ItemAtFast(i))->Show();
-- 
2.28.0


From 24daa9051d9c632ca489c7b6a95bd8e45d5f53e4 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Thu, 7 May 2020 20:26:17 +1000
Subject: Increase default width for columns


diff --git a/Source/Beezer/MainWindow.cpp b/Source/Beezer/MainWindow.cpp
index 00337ed..38088b0 100644
--- a/Source/Beezer/MainWindow.cpp
+++ b/Source/Beezer/MainWindow.cpp
@@ -1669,14 +1669,14 @@ void MainWindow::AddListView()
 
     // Create the data columns
     uint32 columnFlags = CLV_SORT_KEYABLE | CLV_TELL_ITEMS_WIDTH | CLV_HEADER_TRUNCATE;
-    m_fileNameColumn = new CLVColumn(str(S_COLUMN_NAME), 166, columnFlags | CLV_LOCK_AT_BEGINNING | CLV_NOT_MOVABLE);
-    m_sizeColumn = new CLVColumn(str(S_COLUMN_SIZE), 69, columnFlags | CLV_RIGHT_JUSTIFIED);
-    m_packedColumn = new CLVColumn(str(S_COLUMN_PACKED), 69, columnFlags | CLV_RIGHT_JUSTIFIED);
-    m_ratioColumn = new CLVColumn(str(S_COLUMN_RATIO), 45, columnFlags | CLV_RIGHT_JUSTIFIED);
-    m_pathColumn = new CLVColumn(str(S_COLUMN_PATH), 120, columnFlags);
-    m_dateColumn = new CLVColumn(str(S_COLUMN_DATE), 130, columnFlags);
-    m_methodColumn = new CLVColumn(str(S_COLUMN_METHOD), 56, columnFlags);
-    m_crcColumn = new CLVColumn(str(S_COLUMN_CRC), 60, columnFlags);
+    m_fileNameColumn = new CLVColumn(str(S_COLUMN_NAME), 300, columnFlags | CLV_LOCK_AT_BEGINNING | CLV_NOT_MOVABLE);
+    m_sizeColumn = new CLVColumn(str(S_COLUMN_SIZE), 96, columnFlags | CLV_RIGHT_JUSTIFIED);
+    m_packedColumn = new CLVColumn(str(S_COLUMN_PACKED), 72, columnFlags | CLV_RIGHT_JUSTIFIED);
+    m_ratioColumn = new CLVColumn(str(S_COLUMN_RATIO), 64, columnFlags | CLV_RIGHT_JUSTIFIED);
+    m_pathColumn = new CLVColumn(str(S_COLUMN_PATH), 128, columnFlags);
+    m_dateColumn = new CLVColumn(str(S_COLUMN_DATE), 142, columnFlags);
+    m_methodColumn = new CLVColumn(str(S_COLUMN_METHOD), 72, columnFlags);
+    m_crcColumn = new CLVColumn(str(S_COLUMN_CRC), 64, columnFlags);
 
     // Add all the columns to the list View
     m_columnList.AddItem(m_fileNameColumn);
-- 
2.28.0


From b58c80ff9ca440dd4dba2dfe5c16e5ebf6795121 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Fri, 8 May 2020 19:04:45 +1000
Subject: Fix build for x86_gcc2


diff --git a/Source/Archiver/Archiver.cpp b/Source/Archiver/Archiver.cpp
index 82cd760..cceb3c5 100644
--- a/Source/Archiver/Archiver.cpp
+++ b/Source/Archiver/Archiver.cpp
@@ -702,9 +702,9 @@ void Archiver::SaveSettingsMenu()
 
     // Remove the first 3 items which will be "Save as Defaults", "Save to archive" and separator item
     // Then save the rest of the items,
-    BMenuItem* item0 = m_settingsMenu->RemoveItem(0);
-    BMenuItem* item1 = m_settingsMenu->RemoveItem(0);
-    BMenuItem* item2 = m_settingsMenu->RemoveItem(0);
+    BMenuItem* item0 = m_settingsMenu->RemoveItem((int32)0);
+    BMenuItem* item1 = m_settingsMenu->RemoveItem((int32)0);
+    BMenuItem* item2 = m_settingsMenu->RemoveItem((int32)0);
 
     m_settingsMenu->Archive(&settingsMsg, true);
 
diff --git a/Source/Beezer/BeezerListView.cpp b/Source/Beezer/BeezerListView.cpp
index 0dcfe43..6dbf6b8 100644
--- a/Source/Beezer/BeezerListView.cpp
+++ b/Source/Beezer/BeezerListView.cpp
@@ -80,7 +80,7 @@ BeezerListView::~BeezerListView()
     // Delete all list items here as CLV doesn't do it for us in its destructor
     int32 itemCount = FullListCountItems();
     for (int32 i = 0; i < itemCount; i++)
-        delete(ListEntry*)ColumnListView::RemoveItem(0);
+        delete(ListEntry*)ColumnListView::RemoveItem((int32)0);
 }
 
 
diff --git a/Source/Beezer/MainWindow.cpp b/Source/Beezer/MainWindow.cpp
index 38088b0..e38d491 100644
--- a/Source/Beezer/MainWindow.cpp
+++ b/Source/Beezer/MainWindow.cpp
@@ -1506,7 +1506,7 @@ void MainWindow::MessageReceived(BMessage* message)
             break;
         }
 
-        case M_LOG_CONTEXT_CLEAR: m_logTextView->SetText(NULL, 0); break;
+        case M_LOG_CONTEXT_CLEAR: m_logTextView->SetText(NULL, (int32)0); break;
 
         default:
             BWindow::MessageReceived(message);
@@ -3646,9 +3646,9 @@ void MainWindow::SaveArchiverToArchive(BMessage* message)
     BMessage msg('arkv');
 
     // Remove "Save as default" "save to archive" and separator items
-    BMenuItem* item0 = settingsMenu->RemoveItem(0);
-    BMenuItem* item1 = settingsMenu->RemoveItem(0);
-    BMenuItem* item2 = settingsMenu->RemoveItem(0);
+    BMenuItem* item0 = settingsMenu->RemoveItem((int32)0);
+    BMenuItem* item1 = settingsMenu->RemoveItem((int32)0);
+    BMenuItem* item2 = settingsMenu->RemoveItem((int32)0);
 
     // If no "message" is passed save the current archiver menu
     if (!message)
@@ -4240,7 +4240,7 @@ void MainWindow::EmptyListViewIfNeeded()
     {
         int32 count = m_listView->FullListCountItems();
         for (int32 i = 0; i < count; i++)
-            delete m_listView->RemoveItem(0);
+            delete m_listView->RemoveItem((int32)0);
     }
 }
 
diff --git a/Source/Beezer/RecentMgr.cpp b/Source/Beezer/RecentMgr.cpp
index 63dde21..4f6b840 100644
--- a/Source/Beezer/RecentMgr.cpp
+++ b/Source/Beezer/RecentMgr.cpp
@@ -66,7 +66,7 @@ RecentMgr::~RecentMgr()
     SavePrefs();
 
     for (int32 i = 0; i < m_paths.CountItems(); i++)
-        free((char*)m_paths.RemoveItem(0));
+        free((char*)m_paths.RemoveItem((int32)0));
 }
 
 
diff --git a/Source/PipeMgr/PipeMgr.cpp b/Source/PipeMgr/PipeMgr.cpp
index ad8b326..a942dbc 100644
--- a/Source/PipeMgr/PipeMgr.cpp
+++ b/Source/PipeMgr/PipeMgr.cpp
@@ -55,7 +55,7 @@ void PipeMgr::FlushArgs()
 {
     int32 count = m_argList.CountItems();
     for (int32 i = 0; i < count; i++)
-        free(m_argList.RemoveItem(0));
+        free(m_argList.RemoveItem((int32)0));
     m_argList.MakeEmpty();
 }
 
-- 
2.28.0


From a2ac549f33ec88ba9ad6886027aec080f3b54bf2 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Thu, 24 Sep 2020 13:50:45 +1000
Subject: Enable ARJ module


diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt
index 8e7ef14..e785c8b 100644
--- a/Source/CMakeLists.txt
+++ b/Source/CMakeLists.txt
@@ -33,8 +33,7 @@ include_directories(
 
 add_subdirectory(ColumnListView)
 
-#arj support disabled until a proper package is created for Haiku
-#add_subdirectory(ArjArchiver)
+add_subdirectory(ArjArchiver)
 add_subdirectory(BZipArchiver)
 add_subdirectory(GZipArchiver)
 add_subdirectory(LhaArchiver)
-- 
2.28.0

