| 1935 | } |
| 1936 | |
| 1937 | void MainWindow::varPressed(const QModelIndex &index) { |
| 1938 | QModelIndex nameIndex = index.sibling(index.row(), VarTableModel::VAR_NAME_COL); |
| 1939 | if (!nameIndex.isValid()) { |
| 1940 | return; |
| 1941 | } |
| 1942 | calc_var_t var = nameIndex.data(Qt::UserRole).value<calc_var_t>(); |
| 1943 | if (var.size <= 2 || calc_var_is_asmprog(&var)) { |
| 1944 | return; |
| 1945 | } else if (!calc_var_is_internal(&var) || var.name[0] == '#') { |
| 1946 | std::string str; |
| 1947 | try { |
| 1948 | str = calc_var_content_string(var); |
| 1949 | } catch(...) { |
| 1950 | return; |
| 1951 | } |
| 1952 | bool isHexAppVar = var.type == CALC_VAR_TYPE_APP_VAR && !calc_var_is_python_appvar(&var); |
| 1953 | BasicCodeViewerWindow *codePopup = new BasicCodeViewerWindow(this, !isHexAppVar); |
| 1954 | codePopup->setVariableName(nameIndex.data().toString()); |
| 1955 | codePopup->setWindowModality(Qt::NonModal); |
| 1956 | codePopup->setAttribute(Qt::WA_DeleteOnClose); |
| 1957 | codePopup->setOriginalCode(QString::fromStdString(str), calc_var_is_tokenized(&var)); |
| 1958 | codePopup->show(); |
| 1959 | } |
| 1960 | } |
| 1961 | |
| 1962 | void MainWindow::emuBlocked(int req) { |
| 1963 | switch (req) { |
nothing calls this directly
no test coverage detected