knjrbfw 0.0.38 → 0.0.39
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/knjrbfw.gemspec +1 -1
- data/lib/knj/datet.rb +15 -0
- data/lib/knj/gtk2_cb.rb +15 -16
- data/lib/knj/notify.rb +31 -7
- data/lib/knj/os.rb +11 -2
- data/lib/knj/thread.rb +7 -3
- metadata +2 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.39
|
data/knjrbfw.gemspec
CHANGED
data/lib/knj/datet.rb
CHANGED
@@ -512,10 +512,25 @@ class Knj::Datet
|
|
512
512
|
end
|
513
513
|
|
514
514
|
#Returns the day of the year (0-365) as an integer.
|
515
|
+
#===Examples
|
516
|
+
# Knj::Datet.new.day_of_year #=> 123
|
515
517
|
def day_of_year
|
516
518
|
return @time.strftime("%j").to_i
|
517
519
|
end
|
518
520
|
|
521
|
+
#Returns the day as a localized string.
|
522
|
+
#===Examples
|
523
|
+
# Knj::Datet.new.day_str #=> "Monday"
|
524
|
+
# Knj::Datet.new.day_str(:short => true) #=> "Mon"
|
525
|
+
def day_str(args = nil)
|
526
|
+
ret = Knj::Datet.days_arr[@time.strftime("%w").to_i]
|
527
|
+
if args.is_a?(Hash) and args[:short]
|
528
|
+
ret = ret.slice(0, 3)
|
529
|
+
end
|
530
|
+
|
531
|
+
return ret
|
532
|
+
end
|
533
|
+
|
519
534
|
#Returns how many days there is between the two timestamps given as an integer.
|
520
535
|
#===Examples
|
521
536
|
# d1 = Knj::Datet.new #=> 2012-05-03 18:04:12 +0200
|
data/lib/knj/gtk2_cb.rb
CHANGED
@@ -11,7 +11,7 @@ end
|
|
11
11
|
class Gtk::ComboBox
|
12
12
|
def init(items)
|
13
13
|
@knj = {
|
14
|
-
|
14
|
+
:items => []
|
15
15
|
}
|
16
16
|
|
17
17
|
ls = Gtk::ListStore.new(String, String)
|
@@ -25,30 +25,29 @@ class Gtk::ComboBox
|
|
25
25
|
|
26
26
|
if appendob.is_a?(String)
|
27
27
|
iter[0] = appendob
|
28
|
-
elsif appendob.respond_to?(
|
28
|
+
elsif appendob.respond_to?(:is_knj?)
|
29
29
|
iter[0] = appendob.title
|
30
|
-
@knj[
|
31
|
-
|
32
|
-
|
30
|
+
@knj[:items] << {
|
31
|
+
:iter => iter,
|
32
|
+
:object => appendob
|
33
33
|
}
|
34
34
|
end
|
35
35
|
end
|
36
36
|
else
|
37
|
-
raise "Unsupported type:
|
37
|
+
raise "Unsupported type: '#{items.class.name}'."
|
38
38
|
end
|
39
39
|
|
40
40
|
self.model = ls
|
41
|
-
|
42
41
|
self.active = 0
|
43
42
|
end
|
44
43
|
|
45
44
|
def sel
|
46
45
|
iter = self.active_iter
|
47
46
|
|
48
|
-
if @knj[
|
49
|
-
@knj[
|
50
|
-
if item[
|
51
|
-
return item[
|
47
|
+
if @knj[:items].length > 0
|
48
|
+
@knj[:items].each do |item|
|
49
|
+
if item[:iter] == iter
|
50
|
+
return item[:object]
|
52
51
|
end
|
53
52
|
end
|
54
53
|
|
@@ -62,10 +61,10 @@ class Gtk::ComboBox
|
|
62
61
|
end
|
63
62
|
|
64
63
|
def sel=(actob)
|
65
|
-
if actob.respond_to?(
|
66
|
-
@knj[
|
67
|
-
if item[
|
68
|
-
self.active_iter = item[
|
64
|
+
if actob.respond_to?(:is_knj?)
|
65
|
+
@knj[:items].each do |item|
|
66
|
+
if item[:object].id == actob.id
|
67
|
+
self.active_iter = item[:iter]
|
69
68
|
return nil
|
70
69
|
end
|
71
70
|
end
|
@@ -80,6 +79,6 @@ class Gtk::ComboBox
|
|
80
79
|
end
|
81
80
|
end
|
82
81
|
|
83
|
-
raise "Could not find such a row: "
|
82
|
+
raise "Could not find such a row: '#{actob}'."
|
84
83
|
end
|
85
84
|
end
|
data/lib/knj/notify.rb
CHANGED
@@ -1,13 +1,37 @@
|
|
1
|
+
#This class can be used to send notify-messages through the notify-binary (notify-send or kdialog).
|
1
2
|
class Knj::Notify
|
3
|
+
#Call this method to show notifications.
|
4
|
+
#===Examples
|
5
|
+
# Knj::Notify.send("msg" => "Hello world!", "time" => 5)
|
2
6
|
def self.send(args)
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
cmd << " -t " + args["time"].to_s
|
7
|
+
begin
|
8
|
+
toolkit = Knj::Os.toolkit
|
9
|
+
rescue
|
10
|
+
toolkit = ""
|
8
11
|
end
|
9
12
|
|
10
|
-
|
11
|
-
|
13
|
+
if toolkit == "kde"
|
14
|
+
cmd = "kdialog --passivepopup #{Knj::Strings.unixsafe(args["msg"])}"
|
15
|
+
|
16
|
+
if args["title"]
|
17
|
+
cmd << " --title #{Knj::Strings.unixsafe(args["msg"])}"
|
18
|
+
end
|
19
|
+
|
20
|
+
if args["time"]
|
21
|
+
cmd << " #{Knj::Strings.unixsafe(args["time"])}"
|
22
|
+
end
|
23
|
+
|
24
|
+
system(cmd)
|
25
|
+
else
|
26
|
+
cmd = "notify-send"
|
27
|
+
|
28
|
+
if args["time"]
|
29
|
+
raise "Time is not numeric." if !Knj::Php.is_numeric(args["time"])
|
30
|
+
cmd << " -t #{args["time"]}"
|
31
|
+
end
|
32
|
+
|
33
|
+
cmd << " #{Knj::Strings.unixsafe(args["title"])} #{Knj::Strings.unixsafe(args["msg"])}"
|
34
|
+
system(cmd)
|
35
|
+
end
|
12
36
|
end
|
13
37
|
end
|
data/lib/knj/os.rb
CHANGED
@@ -68,8 +68,17 @@ module Knj::Os
|
|
68
68
|
end
|
69
69
|
end
|
70
70
|
|
71
|
-
|
72
|
-
|
71
|
+
#Returns the current graphical toolkit running.
|
72
|
+
#===Examples
|
73
|
+
# Knj::Os.toolkit #=> 'kde'
|
74
|
+
def self.toolkit
|
75
|
+
if self.os == "linux"
|
76
|
+
if ENV["DESKTOP_SESSION"].index("plasma") != nil
|
77
|
+
return "kde"
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
raise "Could not figure out the toolkit."
|
73
82
|
end
|
74
83
|
|
75
84
|
def self.class_exist(classstr)
|
data/lib/knj/thread.rb
CHANGED
@@ -2,9 +2,9 @@
|
|
2
2
|
class Knj::Thread < Thread
|
3
3
|
attr_accessor :data
|
4
4
|
|
5
|
+
#Initializes the thread and passes any given arguments to the thread-block.
|
5
6
|
def initialize(*args)
|
6
|
-
|
7
|
-
raise "No block was given." if !block_given?
|
7
|
+
raise "No block was given." unless block_given?
|
8
8
|
|
9
9
|
super(*args) do
|
10
10
|
begin
|
@@ -12,15 +12,19 @@ class Knj::Thread < Thread
|
|
12
12
|
rescue SystemExit
|
13
13
|
exit
|
14
14
|
rescue Exception => e
|
15
|
-
print Knj::Errors.error_str(e)
|
15
|
+
print "#{Knj::Errors.error_str(e)}\n\n"
|
16
16
|
end
|
17
17
|
end
|
18
|
+
|
19
|
+
@data = {}
|
18
20
|
end
|
19
21
|
|
22
|
+
#Returns a key from the data-hash.
|
20
23
|
def [](key)
|
21
24
|
return @data[key]
|
22
25
|
end
|
23
26
|
|
27
|
+
#Sets a key on the data-hash.
|
24
28
|
def []=(key, value)
|
25
29
|
return @data[key] = value
|
26
30
|
end
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: knjrbfw
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0.
|
5
|
+
version: 0.0.39
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Kasper Johansen
|
@@ -374,7 +374,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
374
374
|
requirements:
|
375
375
|
- - ">="
|
376
376
|
- !ruby/object:Gem::Version
|
377
|
-
hash:
|
377
|
+
hash: -4326648523750519043
|
378
378
|
segments:
|
379
379
|
- 0
|
380
380
|
version: "0"
|