projects
/
ejpi
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
0a58a95
)
Fixing various bugs
author
Ed Page
<eopage@byu.net>
Thu, 8 Jul 2010 02:52:27 +0000
(21:52 -0500)
committer
Ed Page
<eopage@byu.net>
Thu, 8 Jul 2010 02:52:27 +0000
(21:52 -0500)
src/libraries/qtpieboard.py
patch
|
blob
|
history
src/qhistory.py
patch
|
blob
|
history
diff --git
a/src/libraries/qtpieboard.py
b/src/libraries/qtpieboard.py
index
699ddfd
..
a331cfd
100755
(executable)
--- a/
src/libraries/qtpieboard.py
+++ b/
src/libraries/qtpieboard.py
@@
-116,10
+116,11
@@
def _enumerate_pie_slices(pieData, iconPaths):
action.setIcon(QtGui.QIcon(absIconPath))
break
pieItem = qtpie.QActionPieItem(action)
action.setIcon(QtGui.QIcon(absIconPath))
break
pieItem = qtpie.QActionPieItem(action)
+ actionToken = sliceData["action"]
else:
pieItem = qtpie.PieFiling.NULL_CENTER
else:
pieItem = qtpie.PieFiling.NULL_CENTER
- action = ""
- yield direction, pieItem, action
+ actionToken = ""
+ yield direction, pieItem, actionToken
def load_keyboard(keyboardName, dataTree, keyboard, keyboardHandler, iconPaths):
def load_keyboard(keyboardName, dataTree, keyboard, keyboardHandler, iconPaths):
@@
-130,8
+131,10
@@
def load_keyboard(keyboardName, dataTree, keyboard, keyboardHandler, iconPaths):
pieButton = qtpie.QPieButton(center)
pieButton.set_center(center)
pieButton = qtpie.QPieButton(center)
pieButton.set_center(center)
+ keyboardHandler.map_slice_action(center, centerAction)
for direction, pieItem, action in pieItems:
pieButton.insertItem(pieItem)
for direction, pieItem, action in pieItems:
pieButton.insertItem(pieItem)
+ keyboardHandler.map_slice_action(pieItem, action)
keyboard.add_pie(row, column, pieButton)
keyboard.add_pie(row, column, pieButton)
@@
-166,14
+169,11
@@
class KeyboardHandler(object):
del self.__modifiers["<%s>" % modifierName]
def map_slice_action(self, slice, action):
del self.__modifiers["<%s>" % modifierName]
def map_slice_action(self, slice, action):
- self.__sliceActions[slice.name] = action
-
- def __call__(self, pie, slice, direction):
- try:
- action = self.__sliceActions[slice.name]
- except KeyError:
- return
+ callback = lambda direction: self(direction, action)
+ slice.action().triggered.connect(callback)
+ self.__sliceActions[slice] = (action, callback)
+ def __call__(self, direction, action):
activeModifiers = [
mod.name
for mod in self.__modifiers.itervalues()
activeModifiers = [
mod.name
for mod in self.__modifiers.itervalues()
diff --git
a/src/qhistory.py
b/src/qhistory.py
index
585bf1b
..
8268cf4
100644
(file)
--- a/
src/qhistory.py
+++ b/
src/qhistory.py
@@
-41,11
+41,11
@@
class RowData(object):
@property
def equation(self):
@property
def equation(self):
- return operation.render_operation(self._prettyRenderer, self._node),
+ return operation.render_operation(self._prettyRenderer, self._node)
@property
def result(self):
@property
def result(self):
- return operation.render_operation(self._prettyRenderer, self._simpleNode),
+ return operation.render_operation(self._prettyRenderer, self._simpleNode)
def data(self, column):
if column == self.CLOSE_COLUMN:
def data(self, column):
if column == self.CLOSE_COLUMN:
@@
-76,22
+76,25
@@
class HistoryModel(QtCore.QAbstractItemModel):
def data(self, index, role):
if not index.isValid():
return None
def data(self, index, role):
if not index.isValid():
return None
+
+ if role == QtCore.Qt.DisplayRole:
+ item = index.internalPointer()
+ if isinstance(item, RowData):
+ print "d-rw", item.data(index.column())
+ return item.data(index.column())
+ elif item is RowData.HEADERS:
+ print "d-h", item[index.column()]
+ return item[index.column()]
+ elif role == QtCore.Qt.TextAlignmentRole:
+ return RowData.ALIGNMENT[index.column()]
elif role == QtCore.Qt.DecorationRole:
if index.column() == RowData.CLOSE_COLUMN:
return None
else:
return None
elif role == QtCore.Qt.DecorationRole:
if index.column() == RowData.CLOSE_COLUMN:
return None
else:
return None
- elif role == QtCore.Qt.TextAlignmentRole:
- return RowData.ALIGNMENT[index.column()]
- elif role != QtCore.Qt.DisplayRole:
+ else:
return None
return None
- item = index.internalPointer()
- if isinstance(item, RowData):
- return item.data(index.column())
- elif item is RowData.HEADERS:
- return item[index.column()]
-
@misc_utils.log_exception(_moduleLogger)
def flags(self, index):
if not index.isValid():
@misc_utils.log_exception(_moduleLogger)
def flags(self, index):
if not index.isValid():
@@
-111,12
+114,13
@@
class HistoryModel(QtCore.QAbstractItemModel):
if not self.hasIndex(row, column, parent):
return QtCore.QModelIndex()
if not self.hasIndex(row, column, parent):
return QtCore.QModelIndex()
- if parent.isValid():
+ elif parent.isValid():
return QtCore.QModelIndex()
parentItem = RowData.HEADERS
childItem = self._children[row]
if childItem:
return QtCore.QModelIndex()
parentItem = RowData.HEADERS
childItem = self._children[row]
if childItem:
+ print "i", row, column, childItem
return self.createIndex(row, column, childItem)
else:
return QtCore.QModelIndex()
return self.createIndex(row, column, childItem)
else:
return QtCore.QModelIndex()
@@
-138,18
+142,23
@@
class HistoryModel(QtCore.QAbstractItemModel):
return 0
if not parent.isValid():
return 0
if not parent.isValid():
+ print "rc", len(self._children)
return len(self._children)
else:
return len(self._children)
else:
+ print "rc", len(self._children)
return len(self._children)
def push(self, row):
self._children.append(row)
self._signal_rows_added()
return len(self._children)
def push(self, row):
self._children.append(row)
self._signal_rows_added()
+ print "push", row
+ print "push", len(self._children)
def pop(self):
data = self._children[-1]
del self._children[-1]
self._signal_rows_removed()
def pop(self):
data = self._children[-1]
del self._children[-1]
self._signal_rows_removed()
+ print "pop", data
return data
def peek(self):
return data
def peek(self):
@@
-168,13
+177,15
@@
class HistoryModel(QtCore.QAbstractItemModel):
def _signal_rows_added(self):
# @todo Only signal new rows
def _signal_rows_added(self):
# @todo Only signal new rows
- self._all_changed
+ self._all_changed()
def _signal_rows_removed(self):
# @todo Only signal new rows
def _signal_rows_removed(self):
# @todo Only signal new rows
- self._all_changed
+ self._all_changed()
def _all_changed(self):
def _all_changed(self):
+ if not self._children:
+ return
topLeft = self.createIndex(0, 0, self._children[0])
bottomRight = self.createIndex(len(self._children)-1, len(RowData.HEADERS)-1, self._children[-1])
self.dataChanged.emit(topLeft, bottomRight)
topLeft = self.createIndex(0, 0, self._children[0])
bottomRight = self.createIndex(len(self._children)-1, len(RowData.HEADERS)-1, self._children[-1])
self.dataChanged.emit(topLeft, bottomRight)