From 1b7b9b1a159514f7e33c76020939415363126f98 Mon Sep 17 00:00:00 2001 From: John Bintz Date: Thu, 3 May 2012 09:12:10 -0400 Subject: [PATCH] bam --- assets/icon.xcf | Bin 0 -> 6559 bytes assets/paused.png | Bin 0 -> 3362 bytes bin/unison-watch | 29 ++++++++++++++++++++++++++--- 3 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 assets/icon.xcf create mode 100644 assets/paused.png diff --git a/assets/icon.xcf b/assets/icon.xcf new file mode 100644 index 0000000000000000000000000000000000000000..a6e85165cbc9da6f3273ec01a2683643312dbf62 GIT binary patch literal 6559 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 V96JOai+ah*3?|0xqbtGz{sVkhT+ILg literal 0 HcmV?d00001 diff --git a/assets/paused.png b/assets/paused.png new file mode 100644 index 0000000000000000000000000000000000000000..556a70aea6a067ec6c1df7e332d949b120158214 GIT binary patch literal 3362 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 literal 0 HcmV?d00001 diff --git a/bin/unison-watch b/bin/unison-watch index 0ee48c3..4967fba 100755 --- a/bin/unison-watch +++ b/bin/unison-watch @@ -27,7 +27,7 @@ def check Thread.new do while true do begin - if @queue.value.length > 0 || remote_sync_check == 0 || @sync_now + if @active && (@queue.value.length > 0 || remote_sync_check == 0 || @sync_now) dir = nil @status.text = "Syncing..." @@ -61,7 +61,16 @@ def check check_text = "Next check in #{sprintf("%.0d", SYNC_CHECK_TIME * remote_sync_check)} secs." @status.text = check_text - sleep SYNC_CHECK_TIME + if @active + sleep SYNC_CHECK_TIME + else + while !@active do + @status.text = "Syncing paused." + sleep SYNC_CHECK_TIME + end + + remote_sync_check = SYNC_CHECK_COUNT + end end end end @@ -151,6 +160,18 @@ menu = Qt::Menu.new sync_now = Qt::Action.new("Sync now", menu) sync_now.connect(SIGNAL :triggered) { @sync_now = true } +@active = true + +def toggle_status(set = nil) + @active = set || !@active + + @active_status.text = @active ? "Pause syncing" : "Resume syncing" + @current_icon = @active ? 'idle' : 'paused' +end + +@active_status = Qt::Action.new("Pause syncing", menu) +@active_status.connect(SIGNAL :triggered) { toggle_status } + log = Qt::Action.new("View transfer log", menu) log.connect(SIGNAL :triggered) { system %{open #{TRANSFER_LOG}} } @@ -160,6 +181,7 @@ quit = Qt::Action.new("Quit", menu) quit.connect(SIGNAL :triggered) { exiting = true } menu.addAction @status +menu.addAction @active_status menu.addAction sync_now menu.addSeparator menu.addAction log @@ -168,13 +190,14 @@ menu.addAction quit icon = Qt::SystemTrayIcon.new icon.contextMenu = menu -@current_icon = 'idle' +toggle_status true @prior_icon = nil check while !exiting log.enabled = File.file?(File.expand_path(TRANSFER_LOG)) + if @current_icon != @prior_icon icon.icon = Qt::Icon.new(File.expand_path("../../assets/#{@current_icon}.png", __FILE__))