From f4b8e9b51c572ef6df14e0663e16168c4e878ab0 Mon Sep 17 00:00:00 2001 From: wp_xxyyzz Date: Fri, 20 Apr 2018 11:21:14 +0000 Subject: [PATCH] jvcllaz: Fix JvId3v2 demo for Linux (Replace PageControl by NoteBook because Pagecontrol tabs with TabVisible=false are not shown at all in Linux). git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6325 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- .../jvcllaz/examples/JvID3v2/JvId3v2Demo.lpi | 7 +- .../examples/JvID3v2/JvId3v2EditFormU.lfm | 1245 ++++++++--------- .../examples/JvID3v2/JvId3v2EditFormU.pas | 36 +- .../examples/JvID3v2/JvId3v2MainFormU.lfm | 3 +- 4 files changed, 640 insertions(+), 651 deletions(-) diff --git a/components/jvcllaz/examples/JvID3v2/JvId3v2Demo.lpi b/components/jvcllaz/examples/JvID3v2/JvId3v2Demo.lpi index b22c6676d..3ac4fee2e 100644 --- a/components/jvcllaz/examples/JvID3v2/JvId3v2Demo.lpi +++ b/components/jvcllaz/examples/JvID3v2/JvId3v2Demo.lpi @@ -13,7 +13,6 @@ - @@ -41,18 +40,16 @@ - + - - + - diff --git a/components/jvcllaz/examples/JvID3v2/JvId3v2EditFormU.lfm b/components/jvcllaz/examples/JvID3v2/JvId3v2EditFormU.lfm index 195676e96..54ffc4c13 100644 --- a/components/jvcllaz/examples/JvID3v2/JvId3v2EditFormU.lfm +++ b/components/jvcllaz/examples/JvID3v2/JvId3v2EditFormU.lfm @@ -1,643 +1,26 @@ object JvID3v2EditForm: TJvID3v2EditForm Left = 345 - Height = 384 + Height = 527 Top = 248 - Width = 510 + Width = 599 BorderStyle = bsDialog Caption = 'JvID3v2EditForm' - ClientHeight = 384 - ClientWidth = 510 + ClientHeight = 527 + ClientWidth = 599 Color = clBtnFace Font.Color = clWindowText OnCreate = FormCreate + OnShow = FormShow Position = poMainFormCenter LCLVersion = '1.9.0.0' - object PageControl1: TPageControl - Left = 121 - Height = 344 - Top = 40 - Width = 389 - TabStop = False - ActivePage = tshLyrics - Align = alClient - TabIndex = 1 - TabOrder = 0 - object tshWinampTags: TTabSheet - Caption = 'tshWinampTags' - ClientHeight = 316 - ClientWidth = 381 - TabVisible = False - object lblTitle: TLabel - AnchorSideTop.Control = edtTitle - AnchorSideTop.Side = asrCenter - AnchorSideRight.Control = lblEncodedBy - AnchorSideRight.Side = asrBottom - Left = 51 - Height = 15 - Top = 8 - Width = 26 - Anchors = [akTop, akRight] - Caption = '&Title:' - FocusControl = edtTitle - ParentColor = False - end - object lblArtist: TLabel - AnchorSideTop.Control = edtArtist - AnchorSideTop.Side = asrCenter - AnchorSideRight.Control = lblEncodedBy - AnchorSideRight.Side = asrBottom - Left = 46 - Height = 15 - Top = 35 - Width = 31 - Anchors = [akTop, akRight] - Caption = '&Artist:' - FocusControl = edtArtist - ParentColor = False - end - object lblAlbum: TLabel - AnchorSideTop.Control = edtAlbum - AnchorSideTop.Side = asrCenter - AnchorSideRight.Control = lblEncodedBy - AnchorSideRight.Side = asrBottom - Left = 38 - Height = 15 - Top = 62 - Width = 39 - Anchors = [akTop, akRight] - Caption = 'Al&bum:' - FocusControl = edtAlbum - ParentColor = False - end - object lblYear: TLabel - AnchorSideTop.Control = edtYear - AnchorSideTop.Side = asrCenter - AnchorSideRight.Control = lblEncodedBy - AnchorSideRight.Side = asrBottom - Left = 52 - Height = 15 - Top = 89 - Width = 25 - Anchors = [akTop, akRight] - Caption = '&Year:' - FocusControl = edtYear - ParentColor = False - end - object lblComposer: TLabel - AnchorSideTop.Control = edtComposer - AnchorSideTop.Side = asrCenter - AnchorSideRight.Control = lblEncodedBy - AnchorSideRight.Side = asrBottom - Left = 19 - Height = 15 - Top = 189 - Width = 58 - Anchors = [akTop, akRight] - Caption = 'Co&mposer:' - FocusControl = edtComposer - ParentColor = False - end - object lblOrigArtist: TLabel - AnchorSideTop.Control = edtOrigArtist - AnchorSideTop.Side = asrCenter - AnchorSideRight.Control = lblEncodedBy - AnchorSideRight.Side = asrBottom - Left = 17 - Height = 15 - Top = 216 - Width = 60 - Anchors = [akTop, akRight] - Caption = '&Orig. Artist:' - FocusControl = edtOrigArtist - ParentColor = False - end - object lblCopyright: TLabel - AnchorSideTop.Control = edtCopyright - AnchorSideTop.Side = asrCenter - AnchorSideRight.Control = lblEncodedBy - AnchorSideRight.Side = asrBottom - Left = 21 - Height = 15 - Top = 243 - Width = 56 - Anchors = [akTop, akRight] - Caption = 'Co&pyright:' - FocusControl = edtCopyright - ParentColor = False - end - object lblURL: TLabel - AnchorSideTop.Control = edtURL - AnchorSideTop.Side = asrCenter - AnchorSideRight.Control = lblEncodedBy - AnchorSideRight.Side = asrBottom - Left = 53 - Height = 15 - Top = 270 - Width = 24 - Anchors = [akTop, akRight] - Caption = '&URL:' - FocusControl = edtURL - ParentColor = False - end - object lblEncodedBy: TLabel - AnchorSideLeft.Control = tshWinampTags - AnchorSideTop.Control = edtEncodedBy - AnchorSideTop.Side = asrCenter - Left = 12 - Height = 15 - Top = 297 - Width = 65 - BorderSpacing.Left = 12 - Caption = '&Encoded by:' - FocusControl = edtEncodedBy - ParentColor = False - end - object lblGenre: TLabel - AnchorSideLeft.Control = edtYear - AnchorSideLeft.Side = asrBottom - AnchorSideTop.Control = lblYear - Left = 164 - Height = 15 - Top = 89 - Width = 34 - BorderSpacing.Left = 16 - Caption = '&Genre:' - FocusControl = cmbGenre - ParentColor = False - end - object lblComment: TLabel - AnchorSideTop.Control = memComment - AnchorSideRight.Control = lblEncodedBy - AnchorSideRight.Side = asrBottom - Left = 20 - Height = 15 - Top = 112 - Width = 57 - Anchors = [akTop, akRight] - Caption = '&Comment:' - FocusControl = memComment - ParentColor = False - end - object edtTitle: TEdit - AnchorSideLeft.Control = edtEncodedBy - AnchorSideTop.Control = tshWinampTags - AnchorSideRight.Control = edtEncodedBy - AnchorSideRight.Side = asrBottom - Left = 81 - Height = 23 - Top = 4 - Width = 296 - Anchors = [akTop, akLeft, akRight] - BorderSpacing.Top = 4 - TabOrder = 0 - end - object edtArtist: TEdit - AnchorSideLeft.Control = edtEncodedBy - AnchorSideTop.Control = edtTitle - AnchorSideTop.Side = asrBottom - AnchorSideRight.Control = edtEncodedBy - AnchorSideRight.Side = asrBottom - Left = 81 - Height = 23 - Top = 31 - Width = 296 - Anchors = [akTop, akLeft, akRight] - BorderSpacing.Top = 4 - TabOrder = 1 - end - object edtAlbum: TEdit - AnchorSideLeft.Control = edtEncodedBy - AnchorSideTop.Control = edtArtist - AnchorSideTop.Side = asrBottom - AnchorSideRight.Control = edtEncodedBy - AnchorSideRight.Side = asrBottom - Left = 81 - Height = 23 - Top = 58 - Width = 296 - Anchors = [akTop, akLeft, akRight] - BorderSpacing.Top = 4 - TabOrder = 2 - end - object edtYear: TEdit - AnchorSideLeft.Control = edtEncodedBy - AnchorSideTop.Control = edtAlbum - AnchorSideTop.Side = asrBottom - Left = 81 - Height = 23 - Top = 85 - Width = 67 - BorderSpacing.Top = 4 - TabOrder = 3 - end - object edtComposer: TEdit - AnchorSideLeft.Control = edtEncodedBy - AnchorSideTop.Control = memComment - AnchorSideTop.Side = asrBottom - AnchorSideRight.Control = edtEncodedBy - AnchorSideRight.Side = asrBottom - Left = 81 - Height = 23 - Top = 185 - Width = 296 - Anchors = [akTop, akLeft, akRight] - BorderSpacing.Top = 4 - TabOrder = 6 - end - object edtOrigArtist: TEdit - AnchorSideLeft.Control = edtEncodedBy - AnchorSideTop.Control = edtComposer - AnchorSideTop.Side = asrBottom - AnchorSideRight.Control = edtEncodedBy - AnchorSideRight.Side = asrBottom - Left = 81 - Height = 23 - Top = 212 - Width = 296 - Anchors = [akTop, akLeft, akRight] - BorderSpacing.Top = 4 - TabOrder = 7 - end - object edtCopyright: TEdit - AnchorSideLeft.Control = edtEncodedBy - AnchorSideTop.Control = edtOrigArtist - AnchorSideTop.Side = asrBottom - AnchorSideRight.Control = edtEncodedBy - AnchorSideRight.Side = asrBottom - Left = 81 - Height = 23 - Top = 239 - Width = 296 - Anchors = [akTop, akLeft, akRight] - BorderSpacing.Top = 4 - TabOrder = 8 - end - object edtURL: TEdit - AnchorSideLeft.Control = edtEncodedBy - AnchorSideTop.Control = edtCopyright - AnchorSideTop.Side = asrBottom - AnchorSideRight.Control = edtEncodedBy - AnchorSideRight.Side = asrBottom - Left = 81 - Height = 23 - Top = 266 - Width = 296 - Anchors = [akTop, akLeft, akRight] - BorderSpacing.Top = 4 - TabOrder = 9 - end - object edtEncodedBy: TEdit - AnchorSideLeft.Control = lblEncodedBy - AnchorSideLeft.Side = asrBottom - AnchorSideTop.Control = edtURL - AnchorSideTop.Side = asrBottom - AnchorSideRight.Control = tshWinampTags - AnchorSideRight.Side = asrBottom - Left = 81 - Height = 23 - Top = 293 - Width = 296 - Anchors = [akTop, akLeft, akRight] - BorderSpacing.Left = 4 - BorderSpacing.Top = 4 - BorderSpacing.Right = 4 - BorderSpacing.Bottom = 4 - TabOrder = 10 - end - object cmbGenre: TComboBox - AnchorSideLeft.Control = lblGenre - AnchorSideLeft.Side = asrBottom - AnchorSideTop.Control = edtAlbum - AnchorSideTop.Side = asrBottom - AnchorSideRight.Control = edtEncodedBy - AnchorSideRight.Side = asrBottom - Left = 206 - Height = 23 - Top = 85 - Width = 171 - Anchors = [akTop, akLeft, akRight] - BorderSpacing.Left = 8 - BorderSpacing.Top = 4 - ItemHeight = 15 - TabOrder = 4 - end - object memComment: TMemo - AnchorSideLeft.Control = edtEncodedBy - AnchorSideTop.Control = edtYear - AnchorSideTop.Side = asrBottom - AnchorSideRight.Control = edtEncodedBy - AnchorSideRight.Side = asrBottom - Left = 81 - Height = 69 - Top = 112 - Width = 296 - Anchors = [akTop, akLeft, akRight] - BorderSpacing.Top = 4 - Lines.Strings = ( - '' - ) - TabOrder = 5 - end - end - object tshLyrics: TTabSheet - Caption = 'tshLyrics' - ClientHeight = 316 - ClientWidth = 381 - ImageIndex = 1 - TabVisible = False - object lblLanguage: TLabel - AnchorSideLeft.Control = tshLyrics - AnchorSideTop.Control = cmbLanguage - AnchorSideTop.Side = asrCenter - Left = 4 - Height = 15 - Top = 8 - Width = 55 - BorderSpacing.Left = 4 - Caption = 'Language:' - ParentColor = False - end - object lblDescription: TLabel - AnchorSideLeft.Control = memLyrics - AnchorSideTop.Control = edtDescription - AnchorSideTop.Side = asrCenter - Left = 4 - Height = 15 - Top = 240 - Width = 63 - Caption = 'Description:' - ParentColor = False - end - object lblWriter: TLabel - AnchorSideTop.Control = edtWriter - AnchorSideTop.Side = asrCenter - Left = 8 - Height = 15 - Top = 267 - Width = 35 - Caption = 'Writer:' - ParentColor = False - end - object cmbLanguage: TComboBox - AnchorSideLeft.Control = lblLanguage - AnchorSideLeft.Side = asrBottom - AnchorSideTop.Control = tshLyrics - Left = 67 - Height = 23 - Top = 4 - Width = 145 - BorderSpacing.Left = 8 - BorderSpacing.Top = 4 - ItemHeight = 15 - Sorted = True - TabOrder = 0 - end - object memLyrics: TMemo - AnchorSideLeft.Control = tshLyrics - AnchorSideTop.Control = cmbLanguage - AnchorSideTop.Side = asrBottom - AnchorSideRight.Control = tshLyrics - AnchorSideRight.Side = asrBottom - Left = 4 - Height = 201 - Top = 31 - Width = 373 - Anchors = [akTop, akLeft, akRight] - BorderSpacing.Left = 4 - BorderSpacing.Top = 4 - BorderSpacing.Right = 4 - TabOrder = 1 - end - object edtDescription: TEdit - AnchorSideLeft.Control = lblDescription - AnchorSideLeft.Side = asrBottom - AnchorSideTop.Control = memLyrics - AnchorSideTop.Side = asrBottom - AnchorSideRight.Control = memLyrics - AnchorSideRight.Side = asrBottom - Left = 75 - Height = 23 - Top = 236 - Width = 302 - Anchors = [akTop, akLeft, akRight] - BorderSpacing.Left = 8 - BorderSpacing.Top = 4 - TabOrder = 2 - end - object edtWriter: TEdit - AnchorSideLeft.Control = edtDescription - AnchorSideTop.Control = edtDescription - AnchorSideTop.Side = asrBottom - AnchorSideRight.Control = memLyrics - AnchorSideRight.Side = asrBottom - Left = 75 - Height = 23 - Top = 263 - Width = 302 - Anchors = [akTop, akLeft, akRight] - BorderSpacing.Top = 4 - TabOrder = 3 - end - end - object tshPictures: TTabSheet - Caption = 'tshPictures' - ClientHeight = 316 - ClientWidth = 381 - ImageIndex = 2 - TabVisible = False - object imgPicture: TImage - AnchorSideLeft.Control = lsvPictures - AnchorSideTop.Control = lsvPictures - AnchorSideTop.Side = asrBottom - Left = 4 - Height = 120 - Top = 170 - Width = 120 - BorderSpacing.Top = 8 - Stretch = True - end - object lblPictureName: TLabel - AnchorSideLeft.Control = btnChange - AnchorSideTop.Control = edtPictureName - AnchorSideTop.Side = asrCenter - Left = 136 - Height = 15 - Top = 236 - Width = 35 - Caption = 'Name:' - ParentColor = False - end - object lblPictureType: TLabel - AnchorSideLeft.Control = lblPictureName - AnchorSideTop.Control = cmbPictureType - AnchorSideTop.Side = asrCenter - Left = 136 - Height = 15 - Top = 263 - Width = 28 - Caption = 'Type:' - ParentColor = False - end - object lsvPictures: TListView - AnchorSideLeft.Control = tshPictures - AnchorSideTop.Control = tshPictures - AnchorSideRight.Control = tshPictures - AnchorSideRight.Side = asrBottom - Left = 4 - Height = 158 - Top = 4 - Width = 373 - Anchors = [akTop, akLeft, akRight] - BorderSpacing.Left = 4 - BorderSpacing.Top = 4 - BorderSpacing.Right = 4 - Columns = < - item - Caption = 'Name' - Width = 150 - end - item - Caption = 'Type' - Width = 70 - end - item - Caption = 'Format' - Width = 70 - end - item - Caption = 'Size' - end> - HideSelection = False - ReadOnly = True - RowSelect = True - TabOrder = 0 - ViewStyle = vsReport - OnClick = lsvPicturesClick - end - object edtPictureName: TEdit - AnchorSideLeft.Control = lblPictureName - AnchorSideLeft.Side = asrBottom - AnchorSideTop.Control = btnChange - AnchorSideTop.Side = asrBottom - AnchorSideRight.Control = lsvPictures - AnchorSideRight.Side = asrBottom - Left = 179 - Height = 23 - Top = 232 - Width = 198 - Anchors = [akTop, akLeft, akRight] - BorderSpacing.Left = 8 - BorderSpacing.Top = 8 - TabOrder = 5 - end - object cmbPictureType: TComboBox - AnchorSideLeft.Control = edtPictureName - AnchorSideTop.Control = edtPictureName - AnchorSideTop.Side = asrBottom - AnchorSideRight.Control = lsvPictures - AnchorSideRight.Side = asrBottom - Left = 179 - Height = 23 - Top = 259 - Width = 198 - Anchors = [akTop, akLeft, akRight] - BorderSpacing.Top = 4 - ItemHeight = 15 - Sorted = True - TabOrder = 6 - end - object btnChange: TButton - AnchorSideLeft.Control = btnAdd - AnchorSideTop.Control = btnAdd - AnchorSideTop.Side = asrBottom - AnchorSideRight.Control = btnAdd - AnchorSideRight.Side = asrBottom - Left = 136 - Height = 25 - Top = 199 - Width = 75 - Action = actChangePicture - Anchors = [akTop, akLeft, akRight] - BorderSpacing.Top = 4 - TabOrder = 4 - end - object btnAdd: TButton - AnchorSideLeft.Control = imgPicture - AnchorSideLeft.Side = asrBottom - AnchorSideTop.Control = imgPicture - Left = 136 - Height = 25 - Top = 170 - Width = 75 - Action = actAddPicture - BorderSpacing.Left = 12 - TabOrder = 1 - end - object btnDelete: TButton - AnchorSideLeft.Control = btnAdd - AnchorSideLeft.Side = asrBottom - AnchorSideTop.Control = btnAdd - Left = 215 - Height = 25 - Top = 170 - Width = 75 - Action = actDeletePicture - BorderSpacing.Left = 4 - TabOrder = 2 - end - object btnSave: TButton - AnchorSideLeft.Control = btnDelete - AnchorSideLeft.Side = asrBottom - AnchorSideTop.Control = btnAdd - Left = 294 - Height = 25 - Top = 170 - Width = 75 - Action = actSavePicture - BorderSpacing.Left = 4 - TabOrder = 3 - end - end - object tshAllFrames: TTabSheet - Caption = 'tshAllFrames' - ClientHeight = 316 - ClientWidth = 381 - ImageIndex = 3 - TabVisible = False - object lsvAllFrames: TListView - Left = 4 - Height = 308 - Top = 4 - Width = 373 - Align = alClient - BorderSpacing.Around = 4 - Columns = < - item - Caption = 'Name' - end - item - Caption = 'Supported' - Width = 70 - end - item - Caption = 'Description' - Width = 226 - end> - ParentShowHint = False - ReadOnly = True - RowSelect = True - ShowHint = True - TabOrder = 0 - ViewStyle = vsReport - end - end - end object lsbNavigator: TListBox - Left = 0 - Height = 344 + Left = 4 + Height = 483 Top = 40 Width = 121 Align = alLeft + BorderSpacing.Left = 4 + BorderSpacing.Bottom = 4 Items.Strings = ( 'Winamp tags' 'Lyrics' @@ -646,19 +29,19 @@ object JvID3v2EditForm: TJvID3v2EditForm ) ItemHeight = 15 OnClick = lsbNavigatorClick - TabOrder = 1 + TabOrder = 0 end object ToolBar1: TToolBar Left = 0 Height = 40 Top = 0 - Width = 510 + Width = 599 ButtonHeight = 36 ButtonWidth = 72 Caption = 'ToolBar1' Images = iml16 ShowCaptions = True - TabOrder = 2 + TabOrder = 1 object ToolButton1: TToolButton Left = 1 Top = 2 @@ -685,6 +68,610 @@ object JvID3v2EditForm: TJvID3v2EditForm Action = actCopyTov1 end end + object Notebook1: TNotebook + Left = 125 + Height = 487 + Top = 40 + Width = 474 + PageIndex = 0 + Align = alClient + TabOrder = 2 + object PgWinAmpTags: TPage + object lblTitle: TLabel + AnchorSideTop.Control = edtTitle + AnchorSideTop.Side = asrCenter + AnchorSideRight.Control = edtEncodedBy + Left = 51 + Height = 15 + Top = 4 + Width = 26 + Anchors = [akTop, akRight] + BorderSpacing.Right = 4 + Caption = '&Title:' + FocusControl = edtTitle + ParentColor = False + end + object lblArtist: TLabel + AnchorSideTop.Control = edtArtist + AnchorSideTop.Side = asrCenter + AnchorSideRight.Control = lblEncodedBy + AnchorSideRight.Side = asrBottom + Left = 46 + Height = 15 + Top = 31 + Width = 31 + Anchors = [akTop, akRight] + Caption = '&Artist:' + FocusControl = edtArtist + ParentColor = False + end + object lblAlbum: TLabel + AnchorSideTop.Control = edtAlbum + AnchorSideTop.Side = asrCenter + AnchorSideRight.Control = lblEncodedBy + AnchorSideRight.Side = asrBottom + Left = 38 + Height = 15 + Top = 58 + Width = 39 + Anchors = [akTop, akRight] + Caption = 'Al&bum:' + FocusControl = edtAlbum + ParentColor = False + end + object lblYear: TLabel + AnchorSideTop.Control = edtYear + AnchorSideTop.Side = asrCenter + AnchorSideRight.Control = lblEncodedBy + AnchorSideRight.Side = asrBottom + Left = 52 + Height = 15 + Top = 85 + Width = 25 + Anchors = [akTop, akRight] + Caption = '&Year:' + FocusControl = edtYear + ParentColor = False + end + object lblComposer: TLabel + AnchorSideTop.Control = edtComposer + AnchorSideTop.Side = asrCenter + AnchorSideRight.Control = lblEncodedBy + AnchorSideRight.Side = asrBottom + Left = 19 + Height = 15 + Top = 185 + Width = 58 + Anchors = [akTop, akRight] + Caption = 'Co&mposer:' + FocusControl = edtComposer + ParentColor = False + end + object lblOrigArtist: TLabel + AnchorSideTop.Control = edtOrigArtist + AnchorSideTop.Side = asrCenter + AnchorSideRight.Control = lblEncodedBy + AnchorSideRight.Side = asrBottom + Left = 17 + Height = 15 + Top = 212 + Width = 60 + Anchors = [akTop, akRight] + Caption = '&Orig. Artist:' + FocusControl = edtOrigArtist + ParentColor = False + end + object lblCopyright: TLabel + AnchorSideTop.Control = edtCopyright + AnchorSideTop.Side = asrCenter + AnchorSideRight.Control = lblEncodedBy + AnchorSideRight.Side = asrBottom + Left = 21 + Height = 15 + Top = 239 + Width = 56 + Anchors = [akTop, akRight] + Caption = 'Co&pyright:' + FocusControl = edtCopyright + ParentColor = False + end + object lblURL: TLabel + AnchorSideTop.Control = edtURL + AnchorSideTop.Side = asrCenter + AnchorSideRight.Control = lblEncodedBy + AnchorSideRight.Side = asrBottom + Left = 53 + Height = 15 + Top = 266 + Width = 24 + Anchors = [akTop, akRight] + Caption = '&URL:' + FocusControl = edtURL + ParentColor = False + end + object lblEncodedBy: TLabel + AnchorSideTop.Control = edtEncodedBy + AnchorSideTop.Side = asrCenter + AnchorSideRight.Control = lblTitle + Left = 12 + Height = 15 + Top = 293 + Width = 65 + BorderSpacing.Left = 12 + Caption = '&Encoded by:' + FocusControl = edtEncodedBy + ParentColor = False + end + object lblGenre: TLabel + AnchorSideLeft.Control = edtYear + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = lblYear + Left = 164 + Height = 15 + Top = 85 + Width = 34 + BorderSpacing.Left = 16 + Caption = '&Genre:' + FocusControl = cmbGenre + ParentColor = False + end + object lblComment: TLabel + AnchorSideTop.Control = memComment + AnchorSideRight.Control = lblEncodedBy + AnchorSideRight.Side = asrBottom + Left = 20 + Height = 15 + Top = 108 + Width = 57 + Anchors = [akTop, akRight] + Caption = '&Comment:' + FocusControl = memComment + ParentColor = False + end + object edtTitle: TEdit + AnchorSideLeft.Control = edtEncodedBy + AnchorSideTop.Control = PgWinAmpTags + AnchorSideRight.Control = edtEncodedBy + AnchorSideRight.Side = asrBottom + Left = 81 + Height = 23 + Top = 0 + Width = 389 + Anchors = [akTop, akLeft, akRight] + TabOrder = 0 + end + object edtArtist: TEdit + AnchorSideLeft.Control = edtEncodedBy + AnchorSideTop.Control = edtTitle + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = edtEncodedBy + AnchorSideRight.Side = asrBottom + Left = 81 + Height = 23 + Top = 27 + Width = 389 + Anchors = [akTop, akLeft, akRight] + BorderSpacing.Top = 4 + TabOrder = 1 + end + object edtAlbum: TEdit + AnchorSideLeft.Control = edtEncodedBy + AnchorSideTop.Control = edtArtist + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = edtEncodedBy + AnchorSideRight.Side = asrBottom + Left = 81 + Height = 23 + Top = 54 + Width = 389 + Anchors = [akTop, akLeft, akRight] + BorderSpacing.Top = 4 + TabOrder = 2 + end + object edtYear: TEdit + AnchorSideLeft.Control = edtEncodedBy + AnchorSideTop.Control = edtAlbum + AnchorSideTop.Side = asrBottom + Left = 81 + Height = 23 + Top = 81 + Width = 67 + BorderSpacing.Top = 4 + TabOrder = 3 + end + object edtComposer: TEdit + AnchorSideLeft.Control = edtEncodedBy + AnchorSideTop.Control = memComment + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = edtEncodedBy + AnchorSideRight.Side = asrBottom + Left = 81 + Height = 23 + Top = 181 + Width = 389 + Anchors = [akTop, akLeft, akRight] + BorderSpacing.Top = 4 + TabOrder = 4 + end + object edtOrigArtist: TEdit + AnchorSideLeft.Control = edtEncodedBy + AnchorSideTop.Control = edtComposer + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = edtEncodedBy + AnchorSideRight.Side = asrBottom + Left = 81 + Height = 23 + Top = 208 + Width = 389 + Anchors = [akTop, akLeft, akRight] + BorderSpacing.Top = 4 + TabOrder = 5 + end + object edtCopyright: TEdit + AnchorSideLeft.Control = edtEncodedBy + AnchorSideTop.Control = edtOrigArtist + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = edtEncodedBy + AnchorSideRight.Side = asrBottom + Left = 81 + Height = 23 + Top = 235 + Width = 389 + Anchors = [akTop, akLeft, akRight] + BorderSpacing.Top = 4 + TabOrder = 6 + end + object edtURL: TEdit + AnchorSideLeft.Control = edtEncodedBy + AnchorSideTop.Control = edtCopyright + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = edtEncodedBy + AnchorSideRight.Side = asrBottom + Left = 81 + Height = 23 + Top = 262 + Width = 389 + Anchors = [akTop, akLeft, akRight] + BorderSpacing.Top = 4 + TabOrder = 7 + end + object edtEncodedBy: TEdit + AnchorSideLeft.Control = lblEncodedBy + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = edtURL + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = PgWinAmpTags + AnchorSideRight.Side = asrBottom + Left = 81 + Height = 23 + Top = 289 + Width = 389 + Anchors = [akTop, akLeft, akRight] + BorderSpacing.Left = 4 + BorderSpacing.Top = 4 + BorderSpacing.Right = 4 + BorderSpacing.Bottom = 4 + TabOrder = 8 + end + object cmbGenre: TComboBox + AnchorSideLeft.Control = lblGenre + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = edtAlbum + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = edtEncodedBy + AnchorSideRight.Side = asrBottom + Left = 206 + Height = 23 + Top = 81 + Width = 264 + Anchors = [akTop, akLeft, akRight] + BorderSpacing.Left = 8 + BorderSpacing.Top = 4 + ItemHeight = 15 + TabOrder = 9 + end + object memComment: TMemo + AnchorSideLeft.Control = edtEncodedBy + AnchorSideTop.Control = edtYear + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = edtEncodedBy + AnchorSideRight.Side = asrBottom + Left = 81 + Height = 69 + Top = 108 + Width = 389 + Anchors = [akTop, akLeft, akRight] + BorderSpacing.Top = 4 + Lines.Strings = ( + '' + ) + TabOrder = 10 + end + end + object PgLyrics: TPage + object lblLanguage: TLabel + AnchorSideLeft.Control = PgLyrics + AnchorSideTop.Control = cmbLanguage + AnchorSideTop.Side = asrCenter + Left = 4 + Height = 15 + Top = 4 + Width = 55 + BorderSpacing.Left = 4 + Caption = 'Language:' + ParentColor = False + end + object lblDescription: TLabel + AnchorSideLeft.Control = memLyrics + AnchorSideTop.Control = edtDescription + AnchorSideTop.Side = asrCenter + Left = 4 + Height = 15 + Top = 236 + Width = 63 + Caption = 'Description:' + ParentColor = False + end + object lblWriter: TLabel + AnchorSideTop.Control = edtWriter + AnchorSideTop.Side = asrCenter + AnchorSideRight.Control = lblDescription + AnchorSideRight.Side = asrBottom + Left = 32 + Height = 15 + Top = 263 + Width = 35 + Anchors = [akTop, akRight] + Caption = 'Writer:' + ParentColor = False + end + object cmbLanguage: TComboBox + AnchorSideLeft.Control = lblLanguage + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = PgLyrics + Left = 67 + Height = 23 + Top = 0 + Width = 145 + BorderSpacing.Left = 8 + ItemHeight = 15 + Sorted = True + TabOrder = 0 + end + object memLyrics: TMemo + AnchorSideLeft.Control = lblLanguage + AnchorSideTop.Control = cmbLanguage + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = PgLyrics + AnchorSideRight.Side = asrBottom + Left = 4 + Height = 201 + Top = 27 + Width = 466 + Anchors = [akTop, akLeft, akRight] + BorderSpacing.Top = 4 + BorderSpacing.Right = 4 + TabOrder = 1 + end + object edtDescription: TEdit + AnchorSideLeft.Control = lblDescription + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = memLyrics + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = memLyrics + AnchorSideRight.Side = asrBottom + Left = 75 + Height = 23 + Top = 232 + Width = 395 + Anchors = [akTop, akLeft, akRight] + BorderSpacing.Left = 8 + BorderSpacing.Top = 4 + TabOrder = 2 + end + object edtWriter: TEdit + AnchorSideLeft.Control = edtDescription + AnchorSideTop.Control = edtDescription + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = memLyrics + AnchorSideRight.Side = asrBottom + Left = 75 + Height = 23 + Top = 259 + Width = 395 + Anchors = [akTop, akLeft, akRight] + BorderSpacing.Top = 4 + BorderSpacing.Bottom = 4 + TabOrder = 3 + end + end + object PgPicture: TPage + object imgPicture: TImage + AnchorSideLeft.Control = lsvPictures + AnchorSideTop.Control = lsvPictures + AnchorSideTop.Side = asrBottom + Left = 4 + Height = 120 + Top = 166 + Width = 120 + BorderSpacing.Top = 8 + Stretch = True + end + object lblPictureName: TLabel + AnchorSideLeft.Control = btnChange + AnchorSideTop.Control = edtPictureName + AnchorSideTop.Side = asrCenter + Left = 136 + Height = 15 + Top = 232 + Width = 35 + Caption = 'Name:' + ParentColor = False + end + object lblPictureType: TLabel + AnchorSideTop.Control = cmbPictureType + AnchorSideTop.Side = asrCenter + AnchorSideRight.Control = lblPictureName + AnchorSideRight.Side = asrBottom + Left = 143 + Height = 15 + Top = 259 + Width = 28 + Anchors = [akTop, akRight] + Caption = 'Type:' + ParentColor = False + end + object lsvPictures: TListView + AnchorSideLeft.Control = PgPicture + AnchorSideTop.Control = PgPicture + AnchorSideRight.Control = PgPicture + AnchorSideRight.Side = asrBottom + Left = 4 + Height = 158 + Top = 0 + Width = 466 + Anchors = [akTop, akLeft, akRight] + BorderSpacing.Left = 4 + BorderSpacing.Right = 4 + Columns = < + item + Caption = 'Name' + Width = 150 + end + item + Caption = 'Type' + Width = 80 + end + item + Caption = 'Format' + Width = 80 + end + item + Caption = 'Size' + Width = 80 + end> + HideSelection = False + ReadOnly = True + RowSelect = True + TabOrder = 0 + ViewStyle = vsReport + OnClick = lsvPicturesClick + end + object edtPictureName: TEdit + AnchorSideLeft.Control = lblPictureName + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = btnChange + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = lsvPictures + AnchorSideRight.Side = asrBottom + Left = 179 + Height = 23 + Top = 228 + Width = 291 + Anchors = [akTop, akLeft, akRight] + BorderSpacing.Left = 8 + BorderSpacing.Top = 8 + TabOrder = 1 + end + object cmbPictureType: TComboBox + AnchorSideLeft.Control = edtPictureName + AnchorSideTop.Control = edtPictureName + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = lsvPictures + AnchorSideRight.Side = asrBottom + Left = 179 + Height = 23 + Top = 255 + Width = 291 + Anchors = [akTop, akLeft, akRight] + BorderSpacing.Top = 4 + ItemHeight = 15 + Sorted = True + TabOrder = 2 + end + object btnChange: TButton + AnchorSideLeft.Control = btnAdd + AnchorSideTop.Control = btnAdd + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = btnAdd + AnchorSideRight.Side = asrBottom + Left = 136 + Height = 25 + Top = 195 + Width = 75 + Action = actChangePicture + Anchors = [akTop, akLeft, akRight] + BorderSpacing.Top = 4 + TabOrder = 3 + end + object btnAdd: TButton + AnchorSideLeft.Control = imgPicture + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = imgPicture + Left = 136 + Height = 25 + Top = 166 + Width = 75 + Action = actAddPicture + BorderSpacing.Left = 12 + TabOrder = 4 + end + object btnDelete: TButton + AnchorSideLeft.Control = btnAdd + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = btnAdd + Left = 215 + Height = 25 + Top = 166 + Width = 75 + Action = actDeletePicture + BorderSpacing.Left = 4 + TabOrder = 5 + end + object btnSave: TButton + AnchorSideLeft.Control = btnDelete + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = btnAdd + Left = 294 + Height = 25 + Top = 166 + Width = 75 + Action = actSavePicture + BorderSpacing.Left = 4 + TabOrder = 6 + end + end + object PgAllFrames: TPage + object lsvAllFrames: TListView + Left = 4 + Height = 483 + Top = 0 + Width = 466 + Align = alClient + BorderSpacing.Left = 4 + BorderSpacing.Right = 4 + BorderSpacing.Bottom = 4 + Columns = < + item + Caption = 'Name' + end + item + Caption = 'Supported' + Width = 70 + end + item + Caption = 'Description' + Width = 226 + end> + ParentShowHint = False + ReadOnly = True + RowSelect = True + ShowHint = True + TabOrder = 0 + ViewStyle = vsReport + end + end + end object acl16: TActionList Images = iml16 left = 40 diff --git a/components/jvcllaz/examples/JvID3v2/JvId3v2EditFormU.pas b/components/jvcllaz/examples/JvID3v2/JvId3v2EditFormU.pas index 47876c670..742a7c9d0 100644 --- a/components/jvcllaz/examples/JvID3v2/JvId3v2EditFormU.pas +++ b/components/jvcllaz/examples/JvID3v2/JvId3v2EditFormU.pas @@ -37,13 +37,17 @@ uses JvID3v2Base, JvId3v2; //, JvComponent, ImgList, ToolWin; //, JvComponentBase; type + + { TJvID3v2EditForm } + TJvID3v2EditForm = class(TForm) - PageControl1: TPageControl; + Notebook1: TNotebook; + PgWinAmpTags: TPage; + PgLyrics: TPage; + PgPicture: TPage; + PgAllFrames: TPage; lsbNavigator: TListBox; ToolBar1: TToolBar; - tshWinampTags: TTabSheet; - tshLyrics: TTabSheet; - tshPictures: TTabSheet; lblTitle: TLabel; lblArtist: TLabel; lblAlbum: TLabel; @@ -91,7 +95,6 @@ type lblPictureType: TLabel; edtPictureName: TEdit; cmbPictureType: TComboBox; - tshAllFrames: TTabSheet; lsvAllFrames: TListView; btnChange: TButton; actChangePicture: TAction; @@ -108,6 +111,7 @@ type procedure actAddPictureExecute(Sender: TObject); procedure actDeletePictureExecute(Sender: TObject); procedure actSavePictureExecute(Sender: TObject); + procedure FormShow(Sender: TObject); procedure lsvPicturesClick(Sender: TObject); procedure lsbNavigatorClick(Sender: TObject); procedure actChangePictureExecute(Sender: TObject); @@ -354,15 +358,11 @@ end; procedure TJvID3v2EditForm.Init; begin Caption := Format('Edit ''%s''', [ExtractFileName(JvID3v21.FileName)]); - JvID3v21.Open; - TagToCtrls; - imgPicture.Picture.Assign(nil); - lsbNavigator.ItemIndex := 0; - PageControl1.ActivePage := tshWinampTags; + Notebook1.PageIndex := lsbNavigator.ItemIndex; end; function ChangeYear(const ADateTime: TDateTime; const NewYear: Word): TDateTime; @@ -553,6 +553,15 @@ begin end; end; +procedure TJvID3v2EditForm.FormShow(Sender: TObject); +var + P: TPoint; +begin + P := Point(0, EdtEncodedBy.Top + EdtEncodedby.Height + EdtEncodedBy.BorderSpacing.Bottom); + P := ScreenToClient(EdtEncodedBy.Parent.ClientToScreen(P)); + Height := P.Y; +end; + procedure TJvID3v2EditForm.lsvPicturesClick(Sender: TObject); var Frame: TJvID3PictureFrame; @@ -574,12 +583,7 @@ end; procedure TJvID3v2EditForm.lsbNavigatorClick(Sender: TObject); begin - case lsbNavigator.ItemIndex of - 0: PageControl1.ActivePage := tshWinampTags; - 1: PageControl1.ActivePage := tshLyrics; - 2: PageControl1.ActivePage := tshPictures; - 3: PageControl1.ActivePage := tshAllFrames; - end; + Notebook1.PageIndex := lsbNavigator.ItemIndex; end; procedure TJvID3v2EditForm.FillPictureTypes(Strings: TStrings); diff --git a/components/jvcllaz/examples/JvID3v2/JvId3v2MainFormU.lfm b/components/jvcllaz/examples/JvID3v2/JvId3v2MainFormU.lfm index 2f18429ae..1053922cb 100644 --- a/components/jvcllaz/examples/JvID3v2/JvId3v2MainFormU.lfm +++ b/components/jvcllaz/examples/JvID3v2/JvId3v2MainFormU.lfm @@ -49,6 +49,7 @@ object JvID3v2MainForm: TJvID3v2MainForm end> ReadOnly = True RowSelect = True + SortType = stText TabOrder = 0 ViewStyle = vsReport OnDblClick = ListView1DblClick @@ -68,7 +69,7 @@ object JvID3v2MainForm: TJvID3v2MainForm Top = 1 Width = 183 Align = alClient - FileSortType = fstNone + FileSortType = fstAlphabet Images = ImageList1 ReadOnly = True TabOrder = 0