a/src/qtgui/viewaction_w.cpp b/src/qtgui/viewaction_w.cpp
...
...
38
38
39
#include "viewaction_w.h"
39
#include "viewaction_w.h"
40
40
41
void ViewAction::init()
41
void ViewAction::init()
42
{
42
{
43
    selSamePB->setEnabled(false);
43
    connect(closePB, SIGNAL(clicked()), this, SLOT(close()));
44
    connect(closePB, SIGNAL(clicked()), this, SLOT(close()));
44
    connect(chgActPB, SIGNAL(clicked()), this, SLOT(editActions()));
45
    connect(chgActPB, SIGNAL(clicked()), this, SLOT(editActions()));
45
    connect(actionsLV,SIGNAL(itemDoubleClicked(QTableWidgetItem *)),
46
    connect(actionsLV,SIGNAL(itemDoubleClicked(QTableWidgetItem *)),
46
        this, SLOT(onItemDoubleClicked(QTableWidgetItem *)));
47
        this, SLOT(onItemDoubleClicked(QTableWidgetItem *)));
48
    connect(actionsLV,SIGNAL(itemClicked(QTableWidgetItem *)),
49
      this, SLOT(onItemClicked(QTableWidgetItem *)));
47
    useDesktopCB->setChecked(prefs.useDesktopOpen);
50
    useDesktopCB->setChecked(prefs.useDesktopOpen);
48
    onUseDesktopCBToggled(prefs.useDesktopOpen);
51
    onUseDesktopCBToggled(prefs.useDesktopOpen);
49
    connect(useDesktopCB, SIGNAL(stateChanged(int)), 
52
    connect(useDesktopCB, SIGNAL(stateChanged(int)), 
50
        this, SLOT(onUseDesktopCBToggled(int)));
53
        this, SLOT(onUseDesktopCBToggled(int)));
51
    connect(setExceptCB, SIGNAL(stateChanged(int)), 
54
    connect(setExceptCB, SIGNAL(stateChanged(int)), 
52
        this, SLOT(onSetExceptCBToggled(int)));
55
        this, SLOT(onSetExceptCBToggled(int)));
56
    connect(selSamePB, SIGNAL(clicked()),
57
      this, SLOT(onSelSameClicked()));
53
    resize(QSize(640, 480).expandedTo(minimumSizeHint()));
58
    resize(QSize(640, 480).expandedTo(minimumSizeHint()));
54
}
59
}
55
    
60
    
56
void ViewAction::onUseDesktopCBToggled(int onoff)
61
void ViewAction::onUseDesktopCBToggled(int onoff)
57
{
62
{
...
...
65
    newActionLE->setEnabled(onoff != 0);
70
    newActionLE->setEnabled(onoff != 0);
66
}
71
}
67
72
68
void ViewAction::fillLists()
73
void ViewAction::fillLists()
69
{
74
{
75
    currentLBL->clear();
70
    actionsLV->clear();
76
    actionsLV->clear();
71
    actionsLV->verticalHeader()->setDefaultSectionSize(20); 
77
    actionsLV->verticalHeader()->setDefaultSectionSize(20); 
72
    vector<pair<string, string> > defs;
78
    vector<pair<string, string> > defs;
73
    theconfig->getMimeViewerDefs(defs);
79
    theconfig->getMimeViewerDefs(defs);
74
    actionsLV->setRowCount(defs.size());
80
    actionsLV->setRowCount(defs.size());
...
...
107
    for (QList<QTableWidgetItem *>::iterator it = items.begin();
113
    for (QList<QTableWidgetItem *>::iterator it = items.begin();
108
     it != items.end(); it++) {
114
     it != items.end(); it++) {
109
    (*it)->setSelected(true);
115
    (*it)->setSelected(true);
110
    actionsLV->setCurrentItem(*it, QItemSelectionModel::Columns);
116
    actionsLV->setCurrentItem(*it, QItemSelectionModel::Columns);
111
    }
117
    }
118
}
119
120
void ViewAction::onSelSameClicked()
121
{
122
    fprintf(stderr, "onSelSameClicked()\n");
123
    actionsLV->clearSelection();
124
    QString value = currentLBL->text();
125
    if (value.isEmpty())
126
  return;
127
    string action = qs2utf8s(value);
128
    fprintf(stderr, "value: %s\n", action.c_str());
129
    vector<pair<string, string> > defs;
130
    theconfig->getMimeViewerDefs(defs);
131
    for (unsigned int i = 0; i < defs.size(); i++) {
132
  if (defs[i].second == action) {
133
      QList<QTableWidgetItem *>items = 
134
      actionsLV->findItems(QString::fromAscii(defs[i].first.c_str()), 
135
                Qt::MatchFixedString|Qt::MatchCaseSensitive);
136
      for (QList<QTableWidgetItem *>::iterator it = items.begin();
137
       it != items.end(); it++) {
138
      (*it)->setSelected(true);
139
      QTableWidgetItem *item1 = actionsLV->item((*it)->row(), 1);
140
      item1->setSelected(true);
141
      }
142
  }
143
    }
144
}
145
146
// Fill the input fields with the row's values when the user clicks
147
void ViewAction::onItemClicked(QTableWidgetItem * item)
148
{
149
    QTableWidgetItem *item0 = actionsLV->item(item->row(), 0);
150
    string mtype = (const char *)item0->text().toLocal8Bit();
151
152
    vector<pair<string, string> > defs;
153
    theconfig->getMimeViewerDefs(defs);
154
    for (unsigned int i = 0; i < defs.size(); i++) {
155
  if (defs[i].first == mtype) {
156
      currentLBL->setText(QString::fromAscii(defs[i].second.c_str()));
157
      selSamePB->setEnabled(true);
158
      return;
159
  }
160
    }
161
    currentLBL->clear();
162
    selSamePB->setEnabled(false);
112
}
163
}
113
164
114
void ViewAction::onItemDoubleClicked(QTableWidgetItem * item)
165
void ViewAction::onItemDoubleClicked(QTableWidgetItem * item)
115
{
166
{
116
    actionsLV->clearSelection();
167
    actionsLV->clearSelection();