[gnoduino] support new programmers logic (1.0 style)
- From: Lucian Langa <lucilanga src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnoduino] support new programmers logic (1.0 style)
- Date: Sat, 24 Mar 2012 22:56:29 +0000 (UTC)
commit 20518556a250b433ec12f08298b4149df659f692
Author: Lucian Langa <lucilanga gnome org>
Date: Sat Mar 24 23:50:57 2012 +0100
support new programmers logic (1.0 style)
src/board.py | 56 ++-----------------------------
src/config.py | 1 +
src/misc.py | 52 +++++++++++++++++++++++++++++
src/programmer.py | 71 ++++++++++++++++++++++++++++++---------
src/ui.py | 16 +++++++--
src/uploader.py | 37 +++++++++++++++-----
ui/main.ui | 95 ++++++++++++++++++++++++++++++++++------------------
7 files changed, 212 insertions(+), 116 deletions(-)
---
diff --git a/src/board.py b/src/board.py
index c5133ac..d7f1ad4 100644
--- a/src/board.py
+++ b/src/board.py
@@ -39,7 +39,7 @@ class Board(object):
try:
self.boards.extend(self.readArduinoBoards())
except:
- self.boards.extend(self.readGnoduinoBoards())
+ self.boards.extend(misc.readGnoduinoConfFile("BOARDS"))
#renumber ids in case we grown with customs
for i in range(len(self.boards)): self.boards[i]['id'] = i+1
self.p = prefs.preferences()
@@ -50,58 +50,8 @@ class Board(object):
except:
config.cur_board = self.getBoardIdByName("uno") - 1
- def readGnoduinoBoards(self):
- boards = []
- conf = ConfigParser.RawConfigParser()
- path = misc.getArduinoFile("BOARDS")
- if path is None: raise SystemExit(_("Cannot load BOARDS file. Exiting."))
- conf.read(path)
- if not len(conf.sections()):
- raise SystemExit(_("Error reading %s file. File is corrupt. Installation problem.\n") % path)
- c = 1
- for i in conf.sections():
- v = dict(conf.items(i))
- v['id'] = c
- v['desc'] = i
- boards.append(v)
- c = c + 1
- return boards
-
def readArduinoBoards(self):
- return self.readArduinoBoardsFile(misc.getArduinoFile("hardware/arduino/boards.txt"))
-
- def readArduinoBoardsFile(self, boardsFile):
- boards = []
- try:
- f = open(boardsFile)
- q = []
- z = []
- for c in f.readlines():
- if c!='\n':
- l = ""
- line = c.strip("#").split('\n')[0]
- if line != "":
- l = line.split("=")
- z.append(l)
- q.append(l[0].split(".")[0])
-
- k = 1
- for i in sorted(set(q), reverse=True):
- w = dict()
- for c in z:
- if c[0].split(".")[0] == i:
- var = c[0].split(".")[-1]
- if var == "name":
- w['name'] = i
- w['desc'] = c[1]
- else:
- w[var] = c[1]
- w['hwpath'] = boardsFile
- w['id'] = k
- k += 1
- boards.append(w)
- return boards
- except: return None
+ return misc.readArduinoConfFile(misc.getArduinoFile("hardware/arduino/boards.txt"))
def readCustomBoards(self):
p = prefs.preferences()
@@ -109,7 +59,7 @@ class Board(object):
try:
for i in os.listdir(d):
if os.path.exists(os.path.join(d, i, "boards.txt")):
- return self.readArduinoBoardsFile(os.path.join(d, i, "boards.txt"))
+ return misc.readArduinoConfFile(os.path.join(d, i, "boards.txt"))
except: return None
def getBoards(self):
diff --git a/src/config.py b/src/config.py
index c6858b2..6e577cc 100644
--- a/src/config.py
+++ b/src/config.py
@@ -2,6 +2,7 @@
#define current selected board
cur_board = -1
cur_serial_port = -1
+cur_programmer = -1
cur_iter = -1
cur_editor_font = -1
cur_console_font = -1
diff --git a/src/misc.py b/src/misc.py
index 6b6d354..7d62c8f 100644
--- a/src/misc.py
+++ b/src/misc.py
@@ -105,6 +105,58 @@ def getArduinoUiPath():
def getPixmapPath(pixmap):
return get_path(os.path.join("pixmaps", pixmap))
+"""generic function to read Arduino preferences-like file"""
+
+def readArduinoConfFile(confFile):
+ conf = []
+ try:
+ f = open(confFile)
+ q = []
+ z = []
+ for c in f.readlines():
+ if c!='\n':
+ l = ""
+ line = c.split('\n')[0]
+ if line != "" and line[0] != "#":
+ l = line.split("=")
+ z.append(l)
+ q.append(l[0].split(".")[0])
+
+ k = 1
+ for i in sorted(set(q), reverse=True):
+ w = dict()
+ for c in z:
+ if c[0].split(".")[0] == i:
+ var = c[0].split(".")[-1]
+ if var == "name":
+ w['name'] = i
+ w['desc'] = c[1]
+ else:
+ w[var] = c[1]
+ w['hwpath'] = confFile
+ w['id'] = k
+ k += 1
+ conf.append(w)
+ return conf
+ except: return None
+
+def readGnoduinoConfFile(self, confFile):
+ conf = []
+ cnf = ConfigParser.RawConfigParser()
+ path = misc.getArduinoFile(confFile)
+ if path is None: raise SystemExit(_("Cannot load %s file. Exiting.") % confFile)
+ cnf.read(path)
+ if not len(cnf.sections()):
+ raise SystemExit(_("Error reading %s file. File is corrupt. Installation problem.\n") % path)
+ c = 1
+ for i in cnf.sections():
+ v = dict(cnf.items(i))
+ v['id'] = c
+ v['desc'] = i
+ conf.append(v)
+ c = c + 1
+ return conf
+
def makeWorkdir():
return tempfile.mkdtemp("", os.path.join(tempfile.gettempdir(), "build"+str(time.time())))
diff --git a/src/programmer.py b/src/programmer.py
index aa835f5..ec8e51a 100644
--- a/src/programmer.py
+++ b/src/programmer.py
@@ -34,31 +34,68 @@ class Programmer(object):
def __init__(self):
self.programmers = []
self.defaults = []
- conf = ConfigParser.RawConfigParser()
- path = misc.getArduinoFile("PROGRAMMERS")
- if path is None: raise SystemExit(_("Cannot find PROGRAMMERS"))
- conf.read(path)
- if not len(conf.sections()):
- raise SystemExit(_("Error reading %s file. File is corrupt. Installation problem.") % path)
- c = 1
- for i in conf.sections():
- v = mydict(conf.items(i))
- v['id'] = c
- v['desc'] = i
- self.programmers.append(v)
- c = c + 1
+
+ try:
+ self.programmers.extend(self.readCustomProgrammers())
+ except: pass
+ try:
+ self.programmers.extend(self.readArduinoProgrammers())
+ except: self.programmers.extend(misc.readGnoduinoConfFile("PROGRAMMERS"))
+
+ #renumber ids in case we grown with customs
+ for i in range(len(self.programmers)): self.programmers[i]['id'] = i+1
+
+ self.p = prefs.preferences()
+ if config.cur_programmer == -1:
+ try:
+ config.cur_programmer = self.getProgrammerIdByName(self.p.getSafeValue("programmer", "arduino:avrispmkii")) - 1
+ except:
+ config.cur_programmer = self.getProgrammerIdByName("arduino:avrispmkii") - 1
+
+ def readArduinoProgrammers(self):
+ return misc.readArduinoConfFile(misc.getArduinoFile("hardware/arduino/programmers.txt"))
+
+ def readCustomProgrammers(self):
+ p = prefs.preferences()
+ d = os.path.join(p.getValue("sketchbook.path"), "hardware")
+ try:
+ for i in os.listdir(d):
+ if os.path.exists(os.path.join(d, i, "programmers.txt")):
+ return misc.readArduinoConfFile(os.path.join(d, i, "programmers.txt"))
+ except: return None
def getProgrammers(self):
return self.programmers
+ def getProgrammer(self):
+ return config.cur_programmer
+
def getCommunication(self, id):
- return self.programmers[id-1]['communication']
+ return self.programmers[id]['communication']
def getProtocol(self, id):
- return self.programmers[id-1]['protocol']
+ return self.programmers[id]['protocol']
def getSpeed(self, id):
- return self.programmers[id-1]['speed']
+ return self.programmers[id]['speed']
def getForce(self, id):
- return self.programmers[id-1]['force']
+ return self.programmers[id]['force']
+
+ def setProgrammer(self, id):
+ config.cur_programmer = (id - 1)
+ self.p.setValue("programmer",
+ self.getProgrammerPlatform(config.cur_programmer)+
+ ":"+
+ self.programmers[config.cur_programmer]['name'])
+ self.p.saveValues()
+
+ def getProgrammerPlatform(self, id):
+ return os.path.basename(
+ os.path.dirname(self.programmers[id]['hwpath']))
+
+ def getProgrammerIdByName(self, name):
+ if name == None: return 1
+ for i in self.programmers:
+ if self.getProgrammerPlatform(i['id']-1)+":"+i['name'] == name:
+ return i['id']
diff --git a/src/ui.py b/src/ui.py
index 93666ce..9e47596 100644
--- a/src/ui.py
+++ b/src/ui.py
@@ -588,6 +588,9 @@ def createBaudCombo(w, port):
def selectBoard(w, id):
b.setBoard(id)
+def selectProgrammer(w, id):
+ pgm.setProgrammer(id)
+
def setSerial(w, id):
createBaudCombo(w, id)
try:
@@ -694,6 +697,7 @@ def run():
global scon
global p
global b
+ global pgm
global recentmanager
locale_path = _search_locales()
gettext.bindtextdomain(APP_NAME, locale_path)
@@ -749,6 +753,7 @@ def run():
"""build menus"""
sub = gtk.Menu()
b = board.Board()
+ pgm = programmer.Programmer()
maingroup = gtk.RadioMenuItem(None, None)
for i in b.getBoards():
menuItem = gtk.RadioMenuItem(maingroup, i['desc'])
@@ -801,12 +806,15 @@ def run():
populateExamples()
sub = gtk.Menu()
- pgm = programmer.Programmer()
+ maingroup = gtk.RadioMenuItem(None, None)
for i in pgm.getProgrammers():
- menuItem = gtk.MenuItem(i['desc'])
- menuItem.connect('activate', burnBootloader, i['id'])
+ menuItem = gtk.RadioMenuItem(maingroup, i['desc'])
+ if i['id'] == pgm.getProgrammer() + 1:
+ menuItem.set_active(True)
+ menuItem.connect('activate', selectProgrammer, i['id'])
sub.append(menuItem)
- gui.get_object("burn").set_submenu(sub)
+ gui.get_object("programmer").set_submenu(sub)
+ gui.get_object("burn").connect('activate', burnBootloader, sub)
nb = gtk.Notebook()
nb.connect("switch-page", setupPage)
diff --git a/src/uploader.py b/src/uploader.py
index 20cd7e1..1471c2f 100644
--- a/src/uploader.py
+++ b/src/uploader.py
@@ -127,22 +127,41 @@ def burnBootloader(serial, output, notify, id):
def upload(obj, serial, output, notify):
p = prefs.preferences()
+ pgm = programmer.Programmer()
context = notify.get_context_id("main")
notify.pop(context)
notify.push(context, _("Flashing..."))
b = board.Board()
- port = serial.getConfigSerialPort(notify, output)
- if port == -1:
- notify.pop(context)
- notify.push(context, _("Flashing error."))
- return
- serial.resetBoard()
compline=[i for i in avr]
- # avrdude wants "stk500v1" to distinguish it from stk500v2
protocol = b.getPGM(b.getBoard())
- if protocol == "stk500" or protocol == "": protocol = "stk500v1"
+ # avrdude wants "stk500v1" to distinguish it from stk500v2
+ if protocol == "stk500": protocol = "stk500v1"
+ if protocol == "":
+ protocol = pgm.getProtocol(pgm.getProgrammer())
+ try:
+ comm = pgm.getCommunication(pgm.getProgrammer())
+ if comm == "serial":
+ port = serial.getConfigSerialPort(notify, output)
+ if port == -1:
+ notify.pop(context)
+ notify.push(context, _("Flashing error."))
+ return
+ serial.resetBoard()
+ compline.append("-P" + port)
+ else: compline.append("-P" + comm)
+ try:
+ compline.append("-b" + pgm.getSpeed(pgm.getProgrammer()))
+ except: pass
+ except: pass
+ else:
+ port = serial.getConfigSerialPort(notify, output)
+ if port == -1:
+ notify.pop(context)
+ notify.push(context, _("Flashing error."))
+ return
+ compline.append("-P" + port)
+ serial.resetBoard()
compline.append("-c" + protocol)
- compline.append("-P" + port)
try:
compline.append("-b" + b.getPGMSpeed(b.getBoard()))
except: pass
diff --git a/ui/main.ui b/ui/main.ui
index 07efbeb..54ae519 100644
--- a/ui/main.ui
+++ b/ui/main.ui
@@ -70,6 +70,7 @@
<child>
<object class="GtkButton" id="button2">
<property name="label">gtk-close</property>
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
@@ -85,6 +86,7 @@
<child>
<object class="GtkButton" id="button4">
<property name="label">gtk-find</property>
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="receives_default">True</property>
@@ -166,6 +168,7 @@
<child>
<object class="GtkCheckButton" id="checkbutton2">
<property name="label" translatable="yes">Match entire word only</property>
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="receives_default">False</property>
@@ -181,6 +184,7 @@
<child>
<object class="GtkCheckButton" id="checkbutton4">
<property name="label" translatable="yes">Wrap around</property>
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="receives_default">False</property>
@@ -197,6 +201,7 @@
<child>
<object class="GtkCheckButton" id="checkbutton1">
<property name="label" translatable="yes">Match case</property>
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="receives_default">False</property>
@@ -212,6 +217,7 @@
<child>
<object class="GtkCheckButton" id="checkbutton3">
<property name="label" translatable="yes">Search backwards</property>
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="receives_default">False</property>
@@ -275,6 +281,7 @@
<child>
<object class="GtkButton" id="pref_close">
<property name="label">gtk-cancel</property>
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
@@ -290,6 +297,7 @@
<child>
<object class="GtkButton" id="button3">
<property name="label">gtk-ok</property>
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
@@ -330,6 +338,7 @@
</child>
<child>
<object class="GtkFontButton" id="fontbutton1">
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
@@ -343,6 +352,7 @@
</child>
<child>
<object class="GtkFontButton" id="fontbutton2">
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
@@ -377,6 +387,7 @@
<child>
<object class="GtkCheckButton" id="build.verbose">
<property name="label" translatable="yes">Verbose build</property>
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -396,6 +407,7 @@
<child>
<object class="GtkCheckButton" id="show.numbers">
<property name="label" translatable="yes">Show line numbers</property>
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -468,9 +480,9 @@
<property name="can_focus">False</property>
<child>
<object class="GtkMenuItem" id="filemenuitem">
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
<property name="label" translatable="yes">_File</property>
<property name="use_underline">True</property>
<child type="submenu">
@@ -480,9 +492,9 @@
<child>
<object class="GtkImageMenuItem" id="menu-new">
<property name="label">gtk-new</property>
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="accel_group">mainaccelgrp</property>
@@ -491,9 +503,9 @@
<child>
<object class="GtkImageMenuItem" id="menu-open">
<property name="label">gtk-open</property>
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="accel_group">mainaccelgrp</property>
@@ -502,9 +514,9 @@
<child>
<object class="GtkImageMenuItem" id="menu-save">
<property name="label">gtk-save</property>
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="accel_group">mainaccelgrp</property>
@@ -513,9 +525,9 @@
<child>
<object class="GtkImageMenuItem" id="menu-save-as">
<property name="label">gtk-save-as</property>
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="accel_group">mainaccelgrp</property>
@@ -524,9 +536,9 @@
</child>
<child>
<object class="GtkMenuItem" id="menu-upload">
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
<property name="label" translatable="yes">Upload to I/O Board</property>
<property name="use_underline">True</property>
<accelerator key="u" signal="activate" modifiers="GDK_CONTROL_MASK"/>
@@ -534,9 +546,9 @@
</child>
<child>
<object class="GtkMenuItem" id="menu-preferences">
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
<property name="label" translatable="yes">Preferences</property>
<property name="use_underline">True</property>
</object>
@@ -550,9 +562,9 @@
<child>
<object class="GtkImageMenuItem" id="menu-quit">
<property name="label">gtk-quit</property>
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="accel_group">mainaccelgrp</property>
@@ -565,9 +577,9 @@
</child>
<child>
<object class="GtkMenuItem" id="menuitem2">
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
<property name="label" translatable="yes">_Edit</property>
<property name="use_underline">True</property>
<child type="submenu">
@@ -577,9 +589,9 @@
<child>
<object class="GtkImageMenuItem" id="menu-undo">
<property name="label">gtk-undo</property>
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="accel_group">mainaccelgrp</property>
@@ -589,9 +601,9 @@
<child>
<object class="GtkImageMenuItem" id="menu-redo">
<property name="label">gtk-redo</property>
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="accel_group">mainaccelgrp</property>
@@ -600,17 +612,17 @@
</child>
<child>
<object class="GtkSeparatorMenuItem" id="separatormenuitem3">
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="menu-cut">
<property name="label">gtk-cut</property>
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="accel_group">mainaccelgrp</property>
@@ -619,9 +631,9 @@
<child>
<object class="GtkImageMenuItem" id="menu-copy">
<property name="label">gtk-copy</property>
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="accel_group">mainaccelgrp</property>
@@ -630,9 +642,9 @@
<child>
<object class="GtkImageMenuItem" id="menu-paste">
<property name="label">gtk-paste</property>
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="accel_group">mainaccelgrp</property>
@@ -647,9 +659,9 @@
<child>
<object class="GtkImageMenuItem" id="menu-find">
<property name="label">gtk-find</property>
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="accel_group">mainaccelgrp</property>
@@ -657,18 +669,18 @@
</child>
<child>
<object class="GtkMenuItem" id="menu-find-next">
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
<property name="label" translatable="yes">Find Next</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="menu-replace">
<property name="label">gtk-find-and-replace</property>
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="accel_group">mainaccelgrp</property>
@@ -680,9 +692,9 @@
</child>
<child>
<object class="GtkMenuItem" id="menuitem3">
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
<property name="label" translatable="yes">Sketch</property>
<property name="use_underline">True</property>
<child type="submenu">
@@ -691,9 +703,9 @@
<property name="can_focus">False</property>
<child>
<object class="GtkMenuItem" id="menu-compile">
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
<property name="label" translatable="yes">Verify/Compile</property>
<property name="use_underline">True</property>
<accelerator key="r" signal="activate" modifiers="GDK_CONTROL_MASK"/>
@@ -701,27 +713,27 @@
</child>
<child>
<object class="GtkMenuItem" id="menuitem7">
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
<property name="label" translatable="yes">Stop</property>
<property name="use_underline">True</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="menu-import">
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
<property name="label" translatable="yes">Import Library</property>
<property name="use_underline">True</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="menuitem9">
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
<property name="label" translatable="yes">Add File...</property>
<property name="use_underline">True</property>
</object>
@@ -732,9 +744,9 @@
</child>
<child>
<object class="GtkMenuItem" id="tools">
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
<property name="label" translatable="yes">Tools</property>
<property name="use_underline">True</property>
<child type="submenu">
@@ -743,18 +755,18 @@
<property name="can_focus">False</property>
<child>
<object class="GtkMenuItem" id="menuitem10">
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
<property name="label" translatable="yes">Auto Format</property>
<property name="use_underline">True</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="ser_monitor">
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
<property name="label" translatable="yes">Serial Monitor</property>
<property name="use_underline">True</property>
<accelerator key="m" signal="activate" modifiers="GDK_SHIFT_MASK | GDK_CONTROL_MASK"/>
@@ -762,9 +774,9 @@
</child>
<child>
<object class="GtkMenuItem" id="menu-reset-board">
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
<property name="label" translatable="yes">Reset Board</property>
<property name="use_underline">True</property>
<accelerator key="r" signal="activate" modifiers="GDK_SHIFT_MASK | GDK_CONTROL_MASK"/>
@@ -772,27 +784,36 @@
</child>
<child>
<object class="GtkMenuItem" id="board">
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
<property name="label" translatable="yes">Board</property>
<property name="use_underline">True</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="serial_port">
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
<property name="label" translatable="yes">Serial Port</property>
<property name="use_underline">True</property>
</object>
</child>
<child>
- <object class="GtkMenuItem" id="burn">
+ <object class="GtkMenuItem" id="programmer">
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="label" translatable="yes">Programmer</property>
+ <property name="use_underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuItem" id="burn">
<property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="label" translatable="yes">Burn Bootloader</property>
<property name="use_underline">True</property>
</object>
@@ -803,9 +824,9 @@
</child>
<child>
<object class="GtkMenuItem" id="menuitem4">
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
<property name="label" translatable="yes">_Help</property>
<property name="use_underline">True</property>
<child type="submenu">
@@ -814,9 +835,9 @@
<property name="can_focus">False</property>
<child>
<object class="GtkMenuItem" id="menu-reference">
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
<property name="label" translatable="yes">Reference</property>
<property name="use_underline">True</property>
</object>
@@ -824,9 +845,9 @@
<child>
<object class="GtkImageMenuItem" id="menu-about">
<property name="label">gtk-about</property>
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</object>
@@ -849,6 +870,7 @@
<property name="toolbar_style">icons</property>
<child>
<object class="GtkToolButton" id="compile">
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_markup">Compile</property>
@@ -864,6 +886,7 @@
</child>
<child>
<object class="GtkToolButton" id="stop">
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Stop</property>
@@ -888,6 +911,7 @@
</child>
<child>
<object class="GtkToolButton" id="new">
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">New</property>
@@ -902,6 +926,7 @@
</child>
<child>
<object class="GtkToolButton" id="open">
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Open</property>
@@ -916,6 +941,7 @@
</child>
<child>
<object class="GtkToolButton" id="save">
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Save</property>
@@ -930,6 +956,7 @@
</child>
<child>
<object class="GtkToolButton" id="upload">
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Upload</property>
@@ -954,6 +981,7 @@
</child>
<child>
<object class="GtkToolButton" id="serial">
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Serial Monitor</property>
@@ -1075,6 +1103,7 @@
<child>
<object class="GtkButton" id="button1">
<property name="label" translatable="yes">Send</property>
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]