Compare commits

...

7 commits

Author SHA1 Message Date
cb51dd940c Set main icon 2020-04-23 19:03:06 +02:00
7e85c01984 Update 0.4.1 2020-04-23 16:45:33 +02:00
e0302b1652 Icons 2020-04-23 16:44:01 +02:00
7d164e10a6 Modified metadata storage 2020-04-22 17:48:52 +02:00
7d66b8d73b Updated version 2020-04-20 13:56:21 +02:00
a199cf2734 Updated version 2020-04-20 13:56:13 +02:00
4152d529f7 Scrollable tables 2020-04-20 13:54:22 +02:00
14 changed files with 63 additions and 45 deletions

View file

@ -1,16 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<description xmlns="http://openoffice.org/extensions/description/2006" xmlns:d="http://openoffice.org/extensions/description/2006" xmlns:xlink="http://www.w3.org/1999/xlink">
<version value="0.3.3"/>
<version value="0.4.1"/>
<identifier value="pro.litvinovg.libreoffice.metadata"/>
<update-information>
<src xlink:href="https://dev.litvinovg.pro/litvinovg/metadata-editor/-/raw/master/metadataeditor.update.xml"/>
</update-information>
<release-notes>
<src lang="en" xlink:href="releasenotes.txt"/>
</release-notes>
<display-name>
<name lang="en">MetadataEditor</name>
</display-name>
<release-notes>
<src xlink:href="releasenotes.txt" lang="en" />
</release-notes>
<update-information>
<src xlink:href="https://dev.litvinovg.pro/litvinovg/metadata-editor/-/raw/master/metadataeditor.update.xml" />
</update-information>
<icon>
<default xlink:href="images/metadata.png"/>
<high-contrast xlink:href="images/metadata.png"/>
</icon>
<extension-description>
<src lang="en" xlink:href="description/desc_en.txt"/>
</extension-description>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 501 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 575 B

View file

@ -2,9 +2,9 @@
<description xmlns="http://openoffice.org/extensions/update/2006"
xmlns:xlink="http://www.w3.org/1999/xlink">
<identifier value="pro.litvinovg.libreoffice.metadata"/>
<version value="0.3.3" />
<version value="0.4.1" />
<update-download>
<src xlink:href="https://dev.litvinovg.pro/litvinovg/metadata-editor/uploads/cb69f3d97235f7cdad897a66005c4f00/Metadata_Editor.oxt" />
<src xlink:href="https://dev.litvinovg.pro/litvinovg/metadata-editor/uploads/cc4bd54cbaf865b21ca4f6b7dbda2e7b/Metadata_Editor.oxt" />
</update-download>
<release-notes>
<src xlink:href="https://dev.litvinovg.pro/litvinovg/metadata-editor/-/raw/master/releasenotes.txt" lang="en" />

View file

@ -1,4 +1,4 @@
<?xml version='1.0' encoding='UTF-8'?>
<?xml version='1.0' encoding='UTF-8'?>
<oor:component-data oor:package="org.openoffice.Office" oor:name="Addons"
xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<node oor:name="AddonUI">
@ -9,11 +9,8 @@
<value>service:pro.litvinovg.libreoffice.MetadataEditor?openGUI</value>
</prop>
<node oor:name="UserDefinedImages">
<prop oor:name="ImageSmallURL">
<value>vnd.sun.star.extension://pro.litvinovg.libreoffice.metadata/images/actionOne_16.png</value>
</prop>
<prop oor:name="ImageBigURL">
<value>vnd.sun.star.extension://pro.litvinovg.libreoffice.metadata/images/actionOne_26.png</value>
<prop oor:name="ImageBigURL">
<value>vnd.sun.star.extension://pro.litvinovg.libreoffice.metadata/images/metadata.png</value>
</prop>
</node>
</node>

View file

@ -1,7 +1,5 @@
package pro.litvinovg.libreoffice.metadata;
import java.io.Serializable;
public class MetadataElement {
private String name;
@ -20,5 +18,4 @@ public class MetadataElement {
return value;
}
}

View file

@ -2,6 +2,7 @@ package pro.litvinovg.libreoffice.metadata;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Set;
import org.json.JSONException;
import org.json.JSONObject;
@ -66,12 +67,15 @@ public class OutlineElement {
public void readMetadata(String data) {
try {
JSONObject json = new JSONObject(data);
Iterator<String> names = json.keys();
while (names.hasNext()) {
String metaName = names.next();
String metaValue = (String) json.get(metaName);
metadata.add(new MetadataElement(metaName, metaValue));
}
Set<String> nums = json.keySet();
for (String number : nums) {
JSONObject meta = (JSONObject) json.get(number);
Set<String> names = meta.keySet();
for (String name: names) {
String value = meta.getString(name);
metadata.add(new MetadataElement(name, value));
}
}
} catch (JSONException e) {
e.printStackTrace();
} catch (Exception e) {
@ -81,11 +85,15 @@ public class OutlineElement {
private String metadataToString() {
JSONObject json = new JSONObject();
Integer i = 0;
for (MetadataElement element : metadata) {
String name = element.getName();
String value = element.getValue();
if (!name.isEmpty() && !value.isEmpty()) {
json.put(element.getName(), element.getValue());
JSONObject meta = new JSONObject();
meta.put(element.getName(), element.getValue());
json.put(i.toString(), meta);
i++;
}
}
return json.toString();

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

View file

@ -46,6 +46,8 @@ import java.awt.event.FocusEvent;
import javax.swing.JToggleButton;
import javax.swing.LayoutStyle.ComponentPlacement;
import javax.swing.JLabel;
import javax.swing.ScrollPaneConstants;
import java.awt.Dimension;
public class EditorGUI extends JFrame {
//Components
@ -182,9 +184,8 @@ public class EditorGUI extends JFrame {
panelStandardMetadata = new JPanel();
tabbedPane.addTab("Метаданные либры", null, panelStandardMetadata, null);
tabbedPane.setEnabledAt(0, true);
/*
* if (true) { addMetadataTab(new OutlineElement(null, "Тестовое название")); }
*/
for (OutlineElement element : outline) {
addMetadataTab(element);
}
@ -218,10 +219,8 @@ public class EditorGUI extends JFrame {
private void addMetadataTab(OutlineElement element) {
JPanel panelOutline = new JPanel();
JTable tableOutline = new MetadataTable();
MetadataTableModel outlineTableModel = createOutlineTableModel(element);
tableModels.add(outlineTableModel);
configureTableOutline(tableOutline, outlineTableModel);
JButton btnOutlineSave = new JButton("Сохранить");
btnOutlineSave.addActionListener(new ActionListener() {
@ -230,27 +229,41 @@ public class EditorGUI extends JFrame {
}
});
JScrollPane scrollPane = new JScrollPane();
scrollPane.setSize(new Dimension(50, 50));
JButton btnOutlineSave_1 = new JButton("Закрыть");
GroupLayout groupLayoutOutlineMetadata = new GroupLayout(panelOutline);
groupLayoutOutlineMetadata.setHorizontalGroup(
groupLayoutOutlineMetadata.createParallelGroup(Alignment.LEADING)
.addGroup(groupLayoutOutlineMetadata.createSequentialGroup()
.addGap(34)
.addComponent(tableOutline, GroupLayout.DEFAULT_SIZE, 839, Short.MAX_VALUE)
.addGap(126))
.addGroup(Alignment.TRAILING, groupLayoutOutlineMetadata.createSequentialGroup()
.addContainerGap(748, Short.MAX_VALUE)
.addComponent(btnOutlineSave)
.addGap(134))
.addGroup(groupLayoutOutlineMetadata.createParallelGroup(Alignment.TRAILING)
.addGroup(groupLayoutOutlineMetadata.createSequentialGroup()
.addContainerGap(557, Short.MAX_VALUE)
.addComponent(btnOutlineSave_1, GroupLayout.PREFERRED_SIZE, 108, GroupLayout.PREFERRED_SIZE)
.addGap(104)
.addComponent(btnOutlineSave)
.addGap(32))
.addGroup(groupLayoutOutlineMetadata.createSequentialGroup()
.addGap(45)
.addComponent(scrollPane, GroupLayout.DEFAULT_SIZE, 864, Short.MAX_VALUE)))
.addGap(90))
);
groupLayoutOutlineMetadata.setVerticalGroup(
groupLayoutOutlineMetadata.createParallelGroup(Alignment.LEADING)
.addGroup(groupLayoutOutlineMetadata.createSequentialGroup()
.addGap(85)
.addComponent(tableOutline, GroupLayout.DEFAULT_SIZE, 497, Short.MAX_VALUE)
.addGap(52)
.addComponent(btnOutlineSave)
.addGap(43))
.addGroup(Alignment.TRAILING, groupLayoutOutlineMetadata.createSequentialGroup()
.addContainerGap()
.addComponent(scrollPane, GroupLayout.DEFAULT_SIZE, 600, Short.MAX_VALUE)
.addGap(31)
.addGroup(groupLayoutOutlineMetadata.createParallelGroup(Alignment.BASELINE)
.addComponent(btnOutlineSave_1)
.addComponent(btnOutlineSave))
.addGap(34))
);
JTable tableOutline = new MetadataTable();
scrollPane.setViewportView(tableOutline);
configureTableOutline(tableOutline, outlineTableModel);
JPopupMenu popupMenu = new JPopupMenu();
addPopup(tableOutline, popupMenu);
@ -275,7 +288,7 @@ public class EditorGUI extends JFrame {
}
private void configureWindow() {
setIconImage(Toolkit.getDefaultToolkit().getImage(EditorGUI.class.getResource("/pro/litvinovg/libreoffice/metadata/resources/webcam.png")));
setIconImage(Toolkit.getDefaultToolkit().getImage(EditorGUI.class.getResource("/pro/litvinovg/libreoffice/metadata/resources/metadata.png")));
setTitle("Редактор метаданных");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 1170, 755);

View file

@ -17,7 +17,6 @@ public class MetadataTableRenderer extends JTextArea implements TableCellRendere
public Component getTableCellRendererComponent(JTable table,Object value,
boolean isSelected, boolean hasFocus, int row,int column) {
this.setText(value == null ? "" : value.toString());
return this;
}