Or maybe you could port it to the gtk3 binding.
Yeah, I probably should look into that. But right now I have no time. So as a solution for now I uploaded ruby-gtk2 "as is" to the AUR.
But I'll appreciate any help in making this package better.
diff --git a/../old/rubyripper-0.7.0rc2/bin/rubyripper_gtk2 b/./bin/rubyripper_gtk2
index ea9dcba..d806e0d 100755
--- a/../old/rubyripper-0.7.0rc2/bin/rubyripper_gtk2
+++ b/./bin/rubyripper_gtk2
@@ -35,7 +35,7 @@ end
# Try to load the gtk2 files
begin
- require 'gtk2'
+ require 'gtk3'
rescue LoadError
puts "The ruby-gtk2 library could not be found. Is it installed?"; exit()
end
@@ -123,7 +123,7 @@ attr_reader :instances
# setup the central container
def setupMainContainer
- @mainHbox = Gtk::HBox.new(false,5)
+ @mainHbox = Gtk::Box.new(:horizontal, 5)
createButtonsLeftside()
setButtonsLeftsideSignals()
@mainHbox.pack_start(@vbuttonbox1,false,false,0)
@@ -166,13 +166,13 @@ attr_reader :instances
# The abort button transforms into exit when the rip is finished or aborted
def updateAbortButtonToExit
- @buttontext[4].set_text('_' + _("Exit"), true)
+ @buttontext[4].set_text_with_mnemonic('_' + _("Exit"))
@buttonicons[4].stock = Gtk::Stock::QUIT
end
# The exit button transforms into abort when the rip is started
def updateExitButtonToAbort
- @buttontext[4].set_text('_' + _("Abort"), true)
+ @buttontext[4].set_text_with_mnemonic('_' + _("Abort"))
@buttonicons[4].stock = Gtk::Stock::CANCEL
end
@@ -190,12 +190,12 @@ attr_reader :instances
# the leftside menu that is always visible
def createButtonsLeftside
- @vbuttonbox1 = Gtk::VButtonBox.new #child of @mainHbox
+ @vbuttonbox1 = Gtk::ButtonBox.new(:vertical) #child of @mainHbox
@buttons = [Gtk::Button.new, Gtk::Button.new, Gtk::Button.new, Gtk::Button.new, Gtk::Button.new]
@buttons.each{|button| button.sensitive = false}
@buttontext = [Gtk::Label.new('_'+_('Preferences'),true), Gtk::Label.new('_'+_("Scan drive"), true), Gtk::Label.new('_'+_("Open tray"),true), Gtk::Label.new('_'+_("Rip cd now!"),true), Gtk::Label.new('_'+_("Exit"),true)]
@buttonicons = [Gtk::Image.new(Gtk::Stock::PREFERENCES, Gtk::IconSize::LARGE_TOOLBAR), Gtk::Image.new(Gtk::Stock::REFRESH, Gtk::IconSize::LARGE_TOOLBAR), Gtk::Image.new(Gtk::Stock::GOTO_BOTTOM, Gtk::IconSize::LARGE_TOOLBAR), Gtk::Image.new(Gtk::Stock::CDROM, Gtk::IconSize::LARGE_TOOLBAR), Gtk::Image.new(Gtk::Stock::QUIT, Gtk::IconSize::LARGE_TOOLBAR)]
- @vboxes = [Gtk::VBox.new, Gtk::VBox.new, Gtk::VBox.new, Gtk::VBox.new, Gtk::VBox.new]
+ @vboxes = [Gtk::Box.new(:vertical), Gtk::Box.new(:vertical), Gtk::Box.new(:vertical), Gtk::Box.new(:vertical), Gtk::Box.new(:vertical)]
index = 0
@vboxes.each do |vbox|
@@ -238,7 +238,7 @@ attr_reader :instances
def savePreferences
if @currentInstance == 'GtkPreferences'
- @buttontext[0].set_text('_'+_('Preferences'),true)
+ @buttontext[0].set_text_with_mnemonic('_'+_('Preferences'))
@buttonicons[0].stock = Gtk::Stock::PREFERENCES
@gtkPrefs.save
end
@@ -273,7 +273,7 @@ attr_reader :instances
@buttons.each{|button| button.sensitive = false}
Thread.new do
if @currentInstance != 'GtkPreferences'
- @buttontext[0].set_text('_'+_('Disc info'), true)
+ @buttontext[0].set_text_with_mnemonic('_'+_('Disc info'))
@buttonicons[0].stock = Gtk::Stock::INFO
startupPreferences()
@buttons[0..2].each{|button| button.sensitive = true}
@@ -338,12 +338,12 @@ attr_reader :instances
end
def showClosedTray
- @buttontext[2].set_text('_'+_("Close tray"), true)
+ @buttontext[2].set_text_with_mnemonic('_'+_("Close tray"))
@buttonicons[2].stock = Gtk::Stock::GOTO_TOP
end
def showOpenTray
- @buttontext[2].set_text('_'+_("Open tray"),true)
+ @buttontext[2].set_text_with_mnemonic('_'+_("Open tray"))
@buttonicons[2].stock = Gtk::Stock::GOTO_BOTTOM
end
diff --git a/../old/rubyripper-0.7.0rc2/lib/rubyripper/gtk2/gtkDisc.rb b/./lib/rubyripper/gtk2/gtkDisc.rb
index 3317e68..39a7b27 100644
--- a/../old/rubyripper-0.7.0rc2/lib/rubyripper/gtk2/gtkDisc.rb
+++ b/./lib/rubyripper/gtk2/gtkDisc.rb
@@ -237,7 +237,7 @@ class GtkDisc
@label20 = Gtk::Label.new()
@frame20 = Gtk::Frame.new()
- @display = Gtk::VBox.new #One VBox to rule them all
+ @display = Gtk::Box.new(:vertical) #One VBox to rule them all
end
def configDisplayValues()
diff --git a/../old/rubyripper-0.7.0rc2/lib/rubyripper/gtk2/gtkPreferences.rb b/./lib/rubyripper/gtk2/gtkPreferences.rb
index 1a089c0..c259821 100644
--- a/../old/rubyripper-0.7.0rc2/lib/rubyripper/gtk2/gtkPreferences.rb
+++ b/./lib/rubyripper/gtk2/gtkPreferences.rb
@@ -184,7 +184,7 @@ class GtkPreferences
@prefs.noSpaces = @noSpaces.active?
@prefs.noCapitals = @noCapitals.active?
@prefs.maxThreads = @maxThreads.value.to_i
- preventThreadProblemsOnOlderBindings()
+ #preventThreadProblemsOnOlderBindings()
@prefs.normalizer = saveNormalizer()
@prefs.gain = @modus.active == 0 ? "album" : "track"
#metadata
@@ -339,7 +339,7 @@ It is recommended to enable this option.")
@table60.attach(@noLog, 0, 2, 2, 3, Gtk::FILL|Gtk::SHRINK, Gtk::SHRINK, 0, 0)
@frame60 = newFrame(_('Ripping related'), child=@table60)
#pack all frames into a single page
- @page1 = Gtk::VBox.new #One VBox to rule them all
+ @page1 = Gtk::Box.new(:vertical) #One VBox to rule them all
[@frame40, @frame50, @frame60].each{|frame| @page1.pack_start(frame,false,false)}
@page1_label = Gtk::Label.new(_("Secure Ripping"))
@display.append_page(@page1, @page1_label)
@@ -375,7 +375,7 @@ It is recommended to enable this option.")
#pack objects
@tableToc2.attach(@createCue, 0, 2, 1, 2, Gtk::FILL, Gtk::SHRINK, 0, 0)
@tableToc2.attach(@image, 0, 2, 2, 3, Gtk::FILL|Gtk::SHRINK, Gtk::SHRINK, 0, 0)
- @vboxToc = Gtk::VBox.new()
+ @vboxToc = Gtk::Box.new(:vertical)
@vboxToc.pack_start(@tableToc2,false,false)
@frameToc2 = newFrame(_('Advanced Toc analysis'), child=@vboxToc)
# build hbox for cdrdao
@@ -410,7 +410,7 @@ It is recommended to enable this option.")
@vboxToc.pack_start(@frameToc4,false,false)
#pack all frames into a single page
setSignalsToc()
- @pageToc = Gtk::VBox.new #One VBox to rule them all
+ @pageToc = Gtk::Box.new(:vertical) #One VBox to rule them all
[@frameToc1, @cdrdaoHbox, @frameToc2].each{|frame| @pageToc.pack_start(frame,false,false)}
@pageTocLabel = Gtk::Label.new(_("TOC analysis"))
@display.append_page(@pageToc, @pageTocLabel)
@@ -516,9 +516,9 @@ It is recommended to enable this option.")
end
def createAddCodecRow
- @addCodecComboBox = Gtk::ComboBox.new()
+ @addCodecComboBoxText = Gtk::ComboBoxText.new()
@prefs.allCodecs.each do |codec|
- @addCodecComboBox.append_text(getLabelForCodec(codec)) unless @codecRows.key?(codec)
+ @addCodecComboBoxText.append_text(getLabelForCodec(codec)) unless @codecRows.key?(codec)
end
if @addCodecLabel.nil?
@@ -529,7 +529,7 @@ It is recommended to enable this option.")
# create the signal for the button
@addCodecButton.signal_connect("button_release_event") do |a, b|
- label = @addCodecComboBox.active_text
+ label = @addCodecComboBoxText.active_text
if not label.nil?
createCodecRow(getCodecForLabel(label))
updateCodecsView()
@@ -540,7 +540,7 @@ It is recommended to enable this option.")
# put the row into the table
top = @codecRows.size
@selectCodecsTable.attach(@addCodecLabel, 0, 1, top, top+1, Gtk::FILL, Gtk::SHRINK, 0, 0)
- @selectCodecsTable.attach(@addCodecComboBox, 1, 2, top, top+1, Gtk::FILL|Gtk::EXPAND, Gtk::SHRINK, 0, 0)
+ @selectCodecsTable.attach(@addCodecComboBoxText, 1, 2, top, top+1, Gtk::FILL|Gtk::EXPAND, Gtk::SHRINK, 0, 0)
@selectCodecsTable.attach(@addCodecButton, 2, 3, top, top+1, Gtk::FILL, Gtk::SHRINK, 0, 0)
end
@@ -564,12 +564,12 @@ It is recommended to enable this option.")
def buildFrameNormalizeToStandardVolume #Normalize audio
@table85 = newTable(rows=2, columns=1)
#creating objects
- @normalize = Gtk::ComboBox.new()
+ @normalize = Gtk::ComboBoxText.new()
@normalize.append_text(_("Don't standardize volume"))
@normalize.append_text(_("Use replaygain on audio files"))
@normalize.append_text(_("Use normalize on WAVE files"))
@normalize.active=0
- @modus = Gtk::ComboBox.new()
+ @modus = Gtk::ComboBoxText.new()
@modus.append_text(_("Album / Audiophile modus"))
@modus.append_text(_("Track modus"))
@modus.active = 0
@@ -580,7 +580,7 @@ It is recommended to enable this option.")
@table85.attach(@modus, 1, 2, 0, 1, Gtk::FILL, Gtk::FILL, 0, 0)
@frame85 = newFrame(_('Normalize to standard volume'), child=@table85)
#pack all frames into a single page
- @page2 = Gtk::VBox.new #One VBox to rule them all
+ @page2 = Gtk::Box.new(:vertical) #One VBox to rule them all
[@frame70, @frame80, @frame85].each{|frame| @page2.pack_start(frame,false,false)}
@page2_label = Gtk::Label.new(_("Codecs"))
@display.append_page(@page2, @page2_label)
@@ -589,7 +589,7 @@ It is recommended to enable this option.")
def buildFrameChooseMetadataProvider
@table90 = newTable(rows=1, columns=2)
@metadataLabel = Gtk::Label.new(_("Primary metadata provider:"))
- @metadataChoice = Gtk::ComboBox.new()
+ @metadataChoice = Gtk::ComboBoxText.new()
@metadataChoice.append_text(_("Freedb"))
@metadataChoice.append_text(_("Musicbrainz"))
@metadataChoice.append_text(_("Don't use a metadata provider"))
@@ -653,7 +653,7 @@ It is recommended to enable this option.")
def packMetadataFrames
@metadataChoice.signal_connect("changed"){updateMetadataProviderView()}
- @page3 = Gtk::VBox.new #One VBox to rule them all
+ @page3 = Gtk::Box.new(:vertical) #One VBox to rule them all
[@frame90, @frame91, @frame92].each{|frame| @page3.pack_start(frame,false,false)}
@page3_label = Gtk::Label.new(_("Metadata"))
@display.append_page(@page3, @page3_label)
@@ -757,7 +757,7 @@ It is recommended to enable this option.")
end
def pack_other_frames #pack all frames into a single page
- @page4 = Gtk::VBox.new()
+ @page4 = Gtk::Box.new(:vertical)
[@frame100, @frame110, @frame120].each{|frame| @page4.pack_start(frame,false,false)}
@page4_label = Gtk::Label.new(_("Other"))
@display.signal_connect("switch_page") do |a, b, page|
diff --git a/../old/rubyripper-0.7.0rc2/lib/rubyripper/gtk2/multipleFreedbHits.rb b/./lib/rubyripper/gtk2/multipleFreedbHits.rb
index b7001f0..47e94d0 100644
--- a/../old/rubyripper-0.7.0rc2/lib/rubyripper/gtk2/multipleFreedbHits.rb
+++ b/./lib/rubyripper/gtk2/multipleFreedbHits.rb
@@ -31,7 +31,7 @@ class MultipleFreedbHits
@hbox1 = Gtk::HBox.new
[@image1, @label1].each{|object| @hbox1.pack_start(object)}
- @combobox = Gtk::ComboBox.new(true) # text only
+ @combobox = Gtk::ComboBoxText.new(true) # text only
value.each{|freedb_hit| @combobox.append_text(freedb_hit)}
@separator1 = Gtk::HSeparator.new
@hbox2 = Gtk::HBox.new
diff --git a/../old/rubyripper-0.7.0rc2/lib/rubyripper/gtk2/ripStatus.rb b/./lib/rubyripper/gtk2/ripStatus.rb
index 68ae73c..b75107f 100644
--- a/../old/rubyripper-0.7.0rc2/lib/rubyripper/gtk2/ripStatus.rb
+++ b/./lib/rubyripper/gtk2/ripStatus.rb
@@ -65,7 +65,7 @@ class RipStatus
@ripBar.pulse_step = 0.01
@hbox1 = Gtk::HBox.new(true,5)
- @vbox1 = Gtk::VBox.new(false,5)
+ @vbox1 = Gtk::Box.new(:vertical,5)
@vbox1.border_width = 5
@label1 = Gtk::Label.new
asp checkout ruby-gtk2
should do the job.
]]>