Пример #1
0
void DisasmView_DoSubtitles()
{
    if (m_okDisasmSubtitles)  // Reset subtitles
    {
        ::LocalFree(m_strDisasmSubtitles);  m_strDisasmSubtitles = NULL;
        ::LocalFree(m_pDisasmSubtitleItems);  m_pDisasmSubtitleItems = NULL;
        m_nDisasmSubtitleMax = m_nDisasmSubtitleCount = 0;
        m_okDisasmSubtitles = FALSE;
        DisasmView_UpdateWindowText();
        return;
    }

    // File Open dialog
    TCHAR bufFileName[MAX_PATH];
    BOOL okResult = ShowOpenDialog(g_hwnd,
            _T("Open Disassemble Subtitles"),
            _T("Subtitles (*.lst)\0*.lst\0All Files (*.*)\0*.*\0\0"),
            bufFileName);
    if (! okResult) return;

    // Load subtitles text from the file
    HANDLE hSubFile = CreateFile(bufFileName, GENERIC_READ, FILE_SHARE_READ, NULL,
            OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
    if (hSubFile == INVALID_HANDLE_VALUE)
    {
        AlertWarning(_T("Failed to load subtitles file."));
        return;
    }
    DWORD dwSubFileSize = ::GetFileSize(hSubFile, NULL);
    if (dwSubFileSize > 1024 * 1024)
    {
        ::CloseHandle(hSubFile);
        AlertWarning(_T("Subtitles file is too big (over 1 MB)."));
        return;
    }

    m_strDisasmSubtitles = (TCHAR*) ::LocalAlloc(LPTR, dwSubFileSize + 2);
    DWORD dwBytesRead;
    ::ReadFile(hSubFile, m_strDisasmSubtitles, dwSubFileSize, &dwBytesRead, NULL);
    ASSERT(dwBytesRead == dwSubFileSize);
    ::CloseHandle(hSubFile);

    // Estimate comment count and allocate memory
    int estimateSubtitleCount = dwSubFileSize / (75 * sizeof(TCHAR));
    if (estimateSubtitleCount < 256)
        estimateSubtitleCount = 256;
    DisasmView_ResizeSubtitleArray(estimateSubtitleCount);

    // Parse subtitles
    if (!DisasmView_ParseSubtitles())
    {
        ::LocalFree(m_strDisasmSubtitles);  m_strDisasmSubtitles = NULL;
        ::LocalFree(m_pDisasmSubtitleItems);  m_pDisasmSubtitleItems = NULL;
        AlertWarning(_T("Failed to parse subtitles file."));
        return;
    }

    m_okDisasmSubtitles = TRUE;
    DisasmView_UpdateWindowText();
}
Пример #2
0
void TapeView_DoOpenWav()
{
    if (m_okTapeInserted)
    {
        TapeView_CloseTape();
        return;
    }

    // File Open dialog
    TCHAR bufFileName[MAX_PATH];
    BOOL okResult = ShowOpenDialog(g_hwnd,
            _T("Open WAV file"),
            _T("WAV files (*.wav)\0*.wav\0All Files (*.*)\0*.*\0\0"),
            bufFileName);
    if (! okResult) return;

    TapeView_OpenTape(bufFileName);
}
Пример #3
0
INT_PTR CALLBACK LoadBinProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)
    {
    case WM_INITDIALOG:
        {
            ::PostMessage(hDlg, WM_COMMAND, IDC_BUTTONBROWSE, 0);
            return (INT_PTR)FALSE;
        }
    case WM_COMMAND:
        switch (LOWORD(wParam))
        {
        case IDC_BUTTONBROWSE:
            {
                TCHAR bufFileName[MAX_PATH];
                BOOL okResult = ShowOpenDialog(g_hwnd,
                        _T("Select BIN file to load"),
                        _T("BK binary files (*.bin)\0*.bin\0All Files (*.*)\0*.*\0\0"),
                        bufFileName);
                if (! okResult) break;

                Dialogs_DoLoadBinPrepare(hDlg, bufFileName);
            }
            break;
        case IDOK:
            {
                TCHAR bufFileName[MAX_PATH];
                ::GetDlgItemText(hDlg, IDC_EDITFILE, bufFileName, sizeof(bufFileName) / sizeof(TCHAR));
                Dialogs_DoLoadBinLoad(bufFileName);
            }
            EndDialog(hDlg, LOWORD(wParam));
            return (INT_PTR)TRUE;
        case IDCANCEL:
            EndDialog(hDlg, LOWORD(wParam));
            return (INT_PTR)TRUE;
        default:
            return (INT_PTR)FALSE;
        }
        break;
    }
    return (INT_PTR) FALSE;
}
Пример #4
0
BOOL importCertificate(HWND hParent)
{
    char pw[128];
    char *fullname = NULL;
    BOOL result = false;
    NEWFILEDLGDATA newfiledlg =
    {
#ifdef MINIGUI_V3
        FALSE, FALSE,
#else
        FALSE,
#endif
        "",
        "",
        "./",
        "All file(*.*)|Pkcs12(*.p12)",
        1
    };
    int ret = ShowOpenDialog (hParent, 100, 100, 350, 250, &newfiledlg);
    if(ret == IDOK){
        int len = strlen(newfiledlg.filefullname)+1;
        fullname = (char *)malloc(len*sizeof(char));
        if (!fullname)
            return result;
        strcpy(fullname, newfiledlg.filefullname);
        inputPassword( hParent, pw);
        if (mdolphin_add_certificate( fullname, pw)) {
            MessageBox( hParent, "Successfully restored your security certificate(s) and private key(s)",
                    "Alert", MB_OK);
            result = true;
        } else {
            MessageBox( hParent, "Error parsing certificate (incorrect password?)", 
                    "Alert", MB_OK);
            result = false;
        }
        if (fullname)
            free(fullname);
    }
    return result;
}
Пример #5
0
void AudacityProject::OnOpen(wxEvent & event)
{
   ShowOpenDialog(this);
}
static void this_desktop_menucmd_handler (void* context, int id)
{
    if(!context)
        return;
    if(id == ID_UP)
    {
        DesktopUpdateAllWindow();
    }
#if 0
    else if(id == ID_CB)
    {
 		NEWFILEDLGDATA file_data;
		int choise = 0;
//		file_data.IsSave = FALSE;
		strcpy(file_data.filepath,".");
		choise = ShowOpenDialog(HWND_DESKTOP, 50, 50, 300, 200, &file_data);
		if(choise == IDOK)
		{
			if(access(file_data.filefullname, F_OK) < 0)
			{
				printf("file not exist!\n");
			}
			else
			{
				printf("ok!\n");
			}
		}
    }
#endif
    else if(id == ID_AB)
    {

#ifdef _MGMISC_ABOUTDLG
#ifdef _MGRM_THREADS
        OpenAboutDialog ();
#else
        OpenAboutDialog (HWND_DESKTOP);
#endif
#endif
    }
    else if(id == ID_OP)
    {
        int i = 0;
        DSPITEM* item;
        char buff [PATH_MAX + NAME_MAX + 1];
        item = icon_info.app_items;
        for(i = 0; i < icon_info.nr_apps; i++, item++) 
        {
            if (i == icon_info.focus) 
            {
                if(item->cdpath)
                {
                    chdir(item->path);
                }
                strcpy (buff, item->path);
                strcat (buff, item->name);
                exec_app_name(buff, item->name, "-layer");
                icon_info.focus = 0xFFFF;
                break;
            }
        }

    }
    else if(id == ID_RN)
    {
        icon_info.focus = 0xFFFF;
    }

    return;
}