| 971 | } |
| 972 | |
| 973 | void MainWidget::treeClicked(const QModelIndex &index) { |
| 974 | |
| 975 | if(!_displayViewTab) |
| 976 | return; |
| 977 | |
| 978 | if(_vTaskId.indexOf(THREAD_DEL_KEY_TASK) != -1) { |
| 979 | QMessageBox::critical(this, tr("提示"), tr("后台删键任务未结束,请稍后进行键刷新操作!")); |
| 980 | return; |
| 981 | } |
| 982 | |
| 983 | if(_vTaskId.indexOf(THREAD_SCAN_KEY_TASK) != -1) { |
| 984 | QMessageBox::critical(this, tr("提示"), tr("后台扫描键任务未结束,请稍后进行键刷新操作!")); |
| 985 | return; |
| 986 | } |
| 987 | |
| 988 | int dbIndex = 0; |
| 989 | _subTreeItem = _itemKeyModel->itemFromIndex(index); |
| 990 | QString key = _subTreeItem->text(); |
| 991 | if(_treeItemKey == _subTreeItem) |
| 992 | return; |
| 993 | if(!_isClusterMode) { |
| 994 | dbIndex = _vTreeItemKey.indexOf(_subTreeItem); |
| 995 | if(dbIndex != -1) |
| 996 | return; |
| 997 | dbIndex = _vTreeItemKey.indexOf(_subTreeItem->parent()); |
| 998 | if(dbIndex == -1) |
| 999 | return; |
| 1000 | } |
| 1001 | |
| 1002 | QByteArray byteArray; |
| 1003 | _qLongLong = 0; |
| 1004 | |
| 1005 | _dataView->clearData(); |
| 1006 | _dataView->setKey(key); |
| 1007 | _dataView->setDbIndex(dbIndex); |
| 1008 | |
| 1009 | if(dbIndex >= 0) { |
| 1010 | if(!_redisClient->select(dbIndex)) { |
| 1011 | QMessageBox::critical(this, tr("错误"), _redisClient->getErrorInfo()); |
| 1012 | return; |
| 1013 | } |
| 1014 | } |
| 1015 | |
| 1016 | if(!_redisClient->type(key, byteArray)) { |
| 1017 | QMessageBox::critical(this, tr("错误"), tr("获取键类型失败!")); |
| 1018 | return; |
| 1019 | } |
| 1020 | |
| 1021 | int keyType = PubLib::getKeyType(byteArray); |
| 1022 | _dataView->setType(keyType); |
| 1023 | |
| 1024 | if(keyType == KEY_STRING) { |
| 1025 | if(!_redisClient->get(key, byteArray)) { |
| 1026 | QMessageBox::critical(this, tr("错误"), tr("获取键值失败!")); |
| 1027 | return; |
| 1028 | } |
| 1029 | _dataView->setValue(QTextCodec::codecForLocale()->toUnicode(byteArray)); |
| 1030 | } |
nothing calls this directly
no test coverage detected