diff options
| -rw-r--r-- | UMain.pas | 10 | ||||
| -rw-r--r-- | USearch.pas | 2 | ||||
| -rw-r--r-- | UViewer.pas | 4 |
3 files changed, 10 insertions, 6 deletions
@@ -250,7 +250,7 @@ type LeftPanelEngine, RightPanelEngine : TPanelEngine; ColumnSortIDs: array[1..ConstNumPanelColumns] of integer; LastClick: TDateTime; - procedure EditViewFileInternal(ParentWindow: TGTKControl; Filename: string; Engine: TPanelEngine; View, NewFile: boolean); + procedure EditViewFileInternal(Filename: string; Engine: TPanelEngine; View, NewFile: boolean); end; var @@ -3459,8 +3459,8 @@ begin ANewDir.Free; end; end else AFile := IncludeTrailingPathDelimiter(Engine.Path) + PDataItem(AListView.Selected.Data)^.FName; - - EditViewFileInternal(Self, AFile, Engine, View, NewFile); + + EditViewFileInternal(AFile, Engine, View, NewFile); finally Application.ProcessMessages; @@ -3468,7 +3468,7 @@ begin end; end; -procedure TFMain.EditViewFileInternal(ParentWindow: TGTKControl; Filename: string; Engine: TPanelEngine; View, NewFile: boolean); +procedure TFMain.EditViewFileInternal(Filename: string; Engine: TPanelEngine; View, NewFile: boolean); var s: string; Stat: PDataItem; Error, x: integer; @@ -3495,7 +3495,7 @@ begin Application.MessageBox(Format('Cannot load file ''%s''. Please check the permissions.', [ANSIToUTF8(AFile)]), [mbOK], mbError); AViewer.Free; end else AViewer.Resume; *) - AViewer := TFViewer.Create(ParentWindow); + AViewer := TFViewer.Create(Self); if not AViewer.LoadFile(Filename) then begin Application.MessageBox(Format(LANGCannotLoadFile, [Filename]), [mbOK], mbError, mbNone, mbOK); AViewer.Free; diff --git a/USearch.pas b/USearch.pas index 732bcdb..3ae35f9 100644 --- a/USearch.pas +++ b/USearch.pas @@ -601,7 +601,7 @@ begin AEngine := TLocalTreeEngine.Create; b := True; end; - if b then FMain.EditViewFileInternal(Self, string(PDataItem(FileList.Selected.AsPointer(0))^.FDisplayName), AEngine, True, False) + if b then FMain.EditViewFileInternal(string(PDataItem(FileList.Selected.AsPointer(0))^.FDisplayName), AEngine, True, False) else Application.MessageBox(Format(LANGCannotLoadFile, [string(PDataItem(FileList.Selected.AsPointer(0))^.FDisplayName)]), [mbOK], mbError, mbNone, mbOK); if AEngine is TVFSEngine then (AEngine as TVFSEngine).VFSClose(nil); diff --git a/UViewer.pas b/UViewer.pas index a80a434..6e5fe85 100644 --- a/UViewer.pas +++ b/UViewer.pas @@ -42,6 +42,7 @@ type private // LineHeight, NumLines: integer; LineBuffer: TStringList; + window_group: PGtkWindowGroup; procedure ApplyFont; protected AThread: TThread; @@ -76,6 +77,8 @@ function scroll_event_callback(widget: PGtkWidget; event: PGdkEventScroll; user_ procedure TFViewer.FormCreate(Sender: TObject); begin + window_group := gtk_window_group_new(); + gtk_window_group_add_window(window_group, PGtkWindow(FWidget)); SetDefaultSize(700, 500); Caption := 'TuxView'; BorderWidth := 5; @@ -140,6 +143,7 @@ procedure TFViewer.FormDestroy(Sender: TObject); begin try LineBuffer.Free; + g_object_unref(window_group); except end; end; |
